6

我正在 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

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

有什么提示吗?谢谢你们 :)

4

2 回答 2

5

查看YouCompleteMetern_for_vim

这是一篇关于一起使用它们的文章。

于 2014-03-01T20:28:42.603 回答
-2

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

你检查你的tags文件有OpenLayers.BoundsOpenLayers.Control还是OpenLayer.Map?我找不到OpenLayer.Map,并且通过OpenLayer.debug.js我也找不到此功能。

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

AutoComplPop 不支持开箱即用的 JS。你是怎么设置的?这是我的做法,但它仍然在使用<C-x><C-o>完成时tags使用<C-x><C-]>.

于 2012-08-02T11:50:59.177 回答