LINUX.ORG.RU

[vim][emacs][cpp] Auto Complete

 ,


0

3

Есть ли в vim или emacs автодополнение, работающее как в Qt Creator'е?

Например есть тип QVBoxLayout в QtCreator'е я его ввожу так QVBL <Ctrl + Space>

или вот другой пример: есть тип QProgressBar & QPushButton я ввожу QPuB <Ctrl + Space> и он вставляет QPushButton.

★★★

в виме есть - omnicpp кажись. Стравливаешь его на хидеры, он их индексирует, и потом можно юзать эти индексы в вим.

Jetty ★★★★★
()
Ответ на: комментарий от tn1

1.0 был зарелизен уже почти год назад, а ты про pre7 говоришь...

ott ★★★★★
()
Ответ на: комментарий от Reaper

> Xrefactory (это платное).

К сожалению, его развитие уже давно остановлено. Списывался с разработчиком, сказал, что поддержка будет осуществляться только для крупных кастомеров типа Google и IBM.

kondor ★★★
()
Ответ на: комментарий от tn1

поставил aur/vim-clang-complete работает дополнение после . :: -> только вот даже когда силой вызываю автодополнение после QPBu ничего не происходит.

frozenix ★★★
() автор топика
Ответ на: комментарий от tn1

в нем

-I/usr/include/Qt -I/usr/include/QtGui -I/usr/include/QtCore

#include <QtGui>

int main(int argc, char *argv[])
{
   QApplication app(argc, argv);
   QPBu // <C-X> <C-U> тут ничего не происходит
   return app. // Тут работает автодополнение
}

frozenix ★★★
() автор топика
Ответ на: комментарий от frozenix

> QPBu // <C-X> <C-U> тут ничего не происходит
Вроде он этого не умеет/не должен уметь.
Добавь
g:clang_complete_copen=1
в .vimrc и вывод сюда(если мелкий).

tn1
()
Ответ на: комментарий от tn1

тогда к чему было ваше сообщение? ведь мне нужен был autocomplete именно с этой функцией см. первое сообщение.

frozenix ★★★
() автор топика
Ответ на: комментарий от JackyTreehorn

А действительно, я невнимательно прочёл, что ему надо.

Reaper ★★
()
Ответ на: комментарий от frozenix

я опять же незаметил чтобы тут применялися подобный функционал

Процесс набора #ifndef в самом начале видишь?

Reaper ★★
()

Для vim есть clang_complete, для emacs есть xrefactory (закрытый и платный, нет версии для интеловой макоси, но зато очень мощная штука, хотя и корявая).

andreyu ★★★★★
()
Ответ на: комментарий от Jetty

> в виме есть - omnicpp кажись. Стравливаешь его на хидеры, он их индексирует, и потом можно юзать эти индексы в вим.

OmniCppComplete для c/c++ не очень подходит, хотя название и обязывает.

andreyu ★★★★★
()
Ответ на: комментарий от frozenix

> тогда к чему было ваше сообщение? ведь мне нужен был autocomplete именно с этой функцией см. первое сообщение.

Вместе с clang_complete установите supertab.

andreyu ★★★★★
()

Еще обратите внимание на плагины snipmate, nerdtree, bufferexplorer.

andreyu ★★★★★
()

imho, для emacs лучше это способа нет:
C-x C-f mybutton.cpp
C-x 3
M-x w3m-browse-url
http://doc.qt.nokia.com/4.7/qpushbutton.html

Тогда сразу видно какие ещё методы есть, стоит-ли использовать первый попавшийся.

blinkenlichten
()

А, извините. То, что имелось ввиду автором, не есть autocomplete.
Это лучше сделать ввиде быстрых кнопок или команд, например,
чтобы «M-x qpbu» печатает QPushButton вместо вас :-)

blinkenlichten
()

> snippetEmu

snipmate


не нужно, есть ultisnips

ethercrow
()
Ответ на: комментарий от blinkenlichten

> То, что имелось ввиду автором, не есть autocomplete.

Именно autocomplete имелся ввиду. Просто когда autocomplete предлагает очень много вариантов, то должны быть удобные способы отфильтровать их и выбрать нужный.

kamre ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.