медленная отладка php в vim - PullRequest
       22

медленная отладка php в vim

4 голосов
/ 04 февраля 2010

Я использую vim с включенным php omnicompletion в большом проекте. У меня есть файл ctags и используется:

au FileType python set omnifunc=pythoncomplete#Complete
au FileType php set omnifunc=phpcomplete#CompletePHP
au FileType javascript set omnifunc=javascriptcomplete#CompleteJS
au FileType html set omnifunc=htmlcomplete#CompleteTags
au FileType css set omnifunc=csscomplete#CompleteCSS
au FileType xml set omnifunc=xmlcomplete#CompleteTags

set complete=""
set complete+=.
set complete+=k
set complete+=b
set complete+=t

в моем конфиге

В настоящее время omni complete завершит сборку php через 5+ секунд. Он не завершит ничего из моего списка тегов, однако <C-p> завершит элементы из списка тегов. Я думал, что complete = t проверит файл тегов.

Завершение тегов с помощью <C-p> очень быстро, так что не уверен, что отразится на моем омни-завершении так удивительно медленно.

Если я отредактирую свежий файл .php в моем домашнем каталоге, то в этом проекте каталог php, встроенный в omni complete, работает быстро.

Спасибо за любые советы / помощь в отладке этого. В идеале я хотел бы, чтобы omni выполнял как встроенный, так и ctags завершение вместе, как кажется, предлагается в документе full = t.

1 Ответ

3 голосов
/ 04 февраля 2010

Omnicompletion и <C-p> завершение полностью независимы. Опция complete влияет только на завершение через <C-p> / <C-n> и <C-x><C-l>. Если вы хотите, чтобы omnicompletion также пыталось использовать теги, вам нужно изменить функцию завершения для этого.

В случае PHP он учитывает теги, но это только одна часть того, что он делает. Причина, по которой omnicompletion медленнее, чем завершение тегов, заключается в том, что он более сложный. Поиск в файле тегов слова, которое соответствует тому, что находится перед курсором, совершенно отличается от анализа контекста текущего буфера, поиска всех допустимых типов информации, которые можно заполнить, ограничения его соответствием тексту перед курсором и представления что.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...