Vim Javascript Автозаполнение + Предложения?

Я разрабатываю поверх 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

Я изо всех сил пытаюсь получить предложения класса и подкласса, и теперь я немного запутался со всеми доступными плагинами / частью программного обеспечения.

Любой намек? Спасибо вам, ребята:)

2 ответа

Решение

Ваши ожидания слишком высоки. Vim не IDE, как Aptana, и механизмы, используемые для обеспечения завершения, являются грубыми.

Вы проверили, что ваш tags файл имеет OpenLayers.Bounds, OpenLayers.Control или же OpenLayer.Map? Я не могу найти OpenLayer.Map и, пройдя через OpenLayer.debug.js Я тоже не могу найти эту функцию.

TagBar работает только с текущим буфером. Если вы хотите показывать теги для других окон / буферов, вам понадобится еще один старый плагин: TagList.

AutoComplPop не поддерживает JS из коробки. Как вы это настроили? Вот как я это сделал, но он все еще использует <C-x><C-o> в то время как завершение от tags сделано с <C-x><C-]>,

Проверьте YouCompleteMe и tern_for_vim.

Вот статья об использовании их вместе.

Другие вопросы по тегам