Я приступаю к настройке VIM с улучшенным автозаполнением, в основном для занятий. В моем исследовании Google я столкнулся с omnicppcomplete и лязгом. Я не могу понять преимущества / недостатки двух. Кто-нибудь знает?
Кроме того, один легче установить на сторонних системах, чем другой?
Любой отзыв поможет. Спасибо!
Clang действительно «понимает» c ++. Это означает, что он может отличить локальную переменную с именем foo
и функция-член с именем foo
, Если вы хотите завершить thisObject.fo...
, это не даст вам fooContainer
завершение, но только Object::fooMethod
,
Кроме того, Clang может работать со всеми языками типа C, чего не может ctags.
Omnicppcomlete основан на ctags, который является просто текстовым индексом вашего исходного дерева. Так что будет плотнее, большую часть времени будет делать то, что вы хотите; иногда это будет менее точно. Что не является реальной проблемой.
Я еще не установил завершение Clang 🙁 Возможно, вам придется создавать Clang самостоятельно, в то время как ctags, скорее всего, поставляется с вашим дистрибутивом.
Других решений пока нет …