Завершение кода Emacs для C/C++?[закрыто]
-
18-09-2019 - |
Вопрос
Что вы можете мне порекомендовать?
Решение 4
CEDET просто великолепен, конечно, вначале потребуется некоторое время, но оно того стоит.
Другие советы
Можешь попробовать корпоративный режим.Это многосерверный механизм завершения в буфере.
Смотри скринкаст чтобы получить представление о том, как это работает.
Некоторые из серверных частей:
- Семантика CEDET
- даббрев
- X-код
- PySmell
- Ропемакс
- ГНУ Глобальный
И это также доступно через ЭЛПА.
Вы также можете использовать плагин автозаполнения для clang, если ваш исходный код компилируется с ним.ссылки:
GCCSense
От автора Режим автозавершения.Как следует из названия, он использует gcc для поиска кандидатов на завершение кода.
Я предпочитаю использовать etags.
Для интеграции с emacs:http://www.gnu.org/software/emacs/emacs-lisp-intro/html_node/etags.html
О том, как запускать etags.http://www.delorie.com/gnu/docs/emacs/etags.1.html
В качестве бонуса в этом посте описывается дополнительная настройка emacs и использование etags.http://tulrich.com/geekstuff/emacs.html
Редактировать:Чтобы ответить на комментарий, после запуска etags в вашем коде вы можете завершить слова с помощью C-x t (это то, к чему это привязано на моей машине). Или вы можете вызвать поиск по тегам метод.
честно говоря, мне нравится старый добрый dabbrev-expand (M-/), да, он не использует никакой контекстной информации, кроме того, какие символы находятся рядом в открытых буферах, но, с другой стороны, он не использует никакой контекстной информации ;) это означает, что вы можете дополнять текст, который вы сначала написали в тестах или комментариях.
для других вариантов http://www.emacswiki.org/emacs/CategoryCompletion
Когда я редактирую код Python в Emacs, мне нравится использовать pysmell для завершения кода:
Я считаю, что умение быстро печатать (и иметь приличную память) всегда важнее автоматического завершения.Как далеко мы должны зайти, чтобы попытаться упростить программирование?