我在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
我很难得到类和子类的建议,现在我对所有可用的插件/软件有点困惑。
有什么提示吗?谢谢大家:)
查看YouCompleteMe和tern_for_vim。
这是一篇关于将它们结合使用的文章。
您的期望值有点太高了。Vim不是像Aptana那样的IDE,用于提供完井的机制也很粗糙。
您是否检查了tags
文件是否包含OpenLayers.Bounds
、OpenLayers.Control
或OpenLayer.Map
?我找不到OpenLayer.Map
,通过OpenLayer.debug.js
也找不到这个函数。
TagBar仅适用于当前缓冲区。如果你想显示其他窗口/缓冲区的标签,你需要另一个旧插件:TagList。
AutoComplPop不支持开箱即用的JS。你是怎么安排的?以下是我的操作方式,但它仍然使用<C-x><C-o>
,而tags
的完成是用<C-x><C-]>
完成的。