【问题标题】:Vim Javascript Autocompletion + Suggestions?Vim Javascript自动完成+建议?
【发布时间】:2012-07-31 06:20:33
【问题描述】:

我正在 OpenLayers.js 之上进行开发。我的项目文件夹结构如下:

project /
    |-- OpenLayers.js
    |-- map.html
    |-- map.js
    \-- etc

正如你所说,当我开始一个新的地图项目时,我会听取 Vim 关于如何完成代码的建议,从项目文件夹中的所有库中读取 JS 类(在这种情况下,只是 OpenLayers.js)。

例如:

map = new OpenLayers. --> <C-x><C-o>
map = new OpenLayers.Bounds
                    .Control
                    .Map

选择一个建议的类,我应该会得到一种自动完成功能,就像在 Aptana 中一样。我已经安装了 AutoComplPop,我得到了一个不错的自动菜单来选择建议,但所有这些都取自当前的 JS 文件。

无论如何,我已经正确设置了 Tagbar + node.js + jsctags 并且我已经为我生成了 tags 文件项目,并将set tags=./tags,./../tags,./*/tags 添加到我的.vimrc

在这种情况下,Tagbar 也会映射当前文件的 JS 结构,但不提供来自其他文件的类的任何映射。

我的.vimrc 中另一个可能相关的行:

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

我正在努力获得类和子类的建议,现在我对所有可用的插件/软件有点困惑。

有什么提示吗? 谢谢各位:)

【问题讨论】:

    标签: javascript vim jsctags


    【解决方案1】:

    查看YouCompleteMetern_for_vim

    这是一个article,关于一起使用它们。

    【讨论】:

    • 这是我找到的最好的自动完成包。谢谢!
    【解决方案2】:

    你的期望有点太高了。 Vim 不像 Aptana 那样是 IDE,用于提供补全的机制很粗糙。

    您是否检查过您的tags 文件是否包含OpenLayers.BoundsOpenLayers.ControlOpenLayer.Map?我找不到OpenLayer.Map,通过OpenLayer.debug.js我也找不到这个功能。

    TagBar 仅适用于当前缓冲区。如果你想显示其他窗口/缓冲区的标签,你需要另一个旧插件:TagList。

    AutoComplPop 不支持开箱即用的 JS。你是怎么设置的? Here is how I did 但它仍然使用 &lt;C-x&gt;&lt;C-o&gt; 而从 tags 完成是使用 &lt;C-x&gt;&lt;C-]&gt; 完成的。

    【讨论】:

    • 是的,我已经按照您在另一篇文章中的建议设置了 AutoComplPop,现在它可以从 tags 文件加载类。我现在遇到的唯一令人尴尬的问题与 Openlayers.js 有关:jsctags OpenLayers.js 给了我一个令人尴尬的Error: fixStm: 44, line 261,所以我无法从中创建tags 文件。但那是另一回事了。
    • 这个答案可能建议放弃为 Vim 设置高级自动完成和定义。像 youcompleteme 和 tern 这样的插件似乎可以完成 OP 的要求。
    • @MaciejJankowski,2012 年没有 YCM 或燕鸥。
    • @romainl - 您能否编辑答案,以便我取消投票?
    • 哈哈哈……你在开玩笑吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 2020-07-14
    • 2020-08-21
    相关资源
    最近更新 更多