Vim Javascript Autocompletion + Suggestions?

北城余情 提交于 2019-12-07 07:25:42

问题


I'm developing on top of OpenLayers.js. My project folder is structured as follows:

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

As you can argue, when I start a new map project, I espect suggestions from Vim on how to complete the code, reading JS classes from all the libraries in the project folder (in this case, just OpenLayers.js).

E.g.:

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

Selecting one of the suggested classes I should get a kind of autocompletion, like in Aptana. I've installed AutoComplPop and I get a nice automatic menu to select suggestions, but all of them are taken from the current JS file.

Anyway, I've correctly set up Tagbar + node.js + jsctags and I've generated tags file for my project, and added set tags=./tags,./../tags,./*/tags to my .vimrc.

In this case, also, Tagbar maps the current file JS structure but doesn't offer any mapping of the classes coming from other files.

Another probably relevant line in my .vimrc:

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

I'm struggling to get class and subclass suggestions and now I'm getting a bit confused with all the plugins/piece of software available.

Any hint? Thank you guys :)


回答1:


Your expectations are a bit too high. Vim is not an IDE like Aptana and the mechanisms used to provide completion are crude.

Did you check that your tags file has OpenLayers.Bounds, OpenLayers.Control or OpenLayer.Map? I can't find OpenLayer.Map and, going through the OpenLayer.debug.js I can't find this function either.

TagBar only works with the current buffer. If you want to show tags for other windows/buffers you'll need another older plugin: TagList.

AutoComplPop doesn't support JS out of the box. How did you set it up? Here is how I did but it still uses <C-x><C-o> while completion from tags is done with <C-x><C-]>.




回答2:


Check out YouCompleteMe and tern_for_vim.

Here's an article about using them together.



来源:https://stackoverflow.com/questions/11774750/vim-javascript-autocompletion-suggestions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!