Просмотр кода, рефакторинг, автозаполнение в Emacs

Я недавно переключился на Emacs и до сих пор пробираюсь через него. Я пишу код на C++, и мне было интересно, какие инструменты расширяют Emacs для поддержки просмотра кода (поиск символа и т. Д.), Рефакторинга и завершения кода. Я слышал о:

  • Cedet
  • ETags
  • Cscope

Но я так озадачен тем, что мне нужно. В некоторых местах говорится, что cedet предоставляет все функциональные возможности, но в других местах говорится, что мне нужно вызвать etags для правильной работы cedet.

Может кто-нибудь прояснить это для меня? Нужны ли мне все эти инструменты?

6 ответов

Может быть, вы найдете мою статью о Седе полезной. В Cedet есть поддержка etags, gtags, cscope и других инструментов.

Но рефакторинг отсутствует. Вам может понадобиться посмотреть на инструмент Xrefactory (но он не бесплатный)

Cscope очень хорош как инструмент для поиска символов. Это очень быстро.
Etags покажет вам вашу иерархию классов и поможет вам найти определение / объявление метода.

Таким образом, эти два инструмента должны быть, и они независимы.

Cedet. Это своего рода замена этих двух инструментов выше с дополнительными функциями. Так что ваш выбор - cscope/etags или cedet.

Для рефакторинга я начал использовать emacs исключительно для этой и связанных задач после того, как прочитал эту статью хакера emacs Xah Lee.

Для автодополнения, см. Этот пост. Лично я нашел яснипет очень полезным на протяжении многих лет.

gtags ( http://www.gnu.org/software/global/) также доступен и, возможно, проще в использовании.

Лично я не люблю cedet. Это заставляет Emacs загружаться часом. Функция автозаполнения никогда не работала со мной правильно. Мне не нужно ни управление проектами, ни UML-функции. Единственное, что мне не хватает в этом - это браузер кода Emacs, который очень полезен, но требует cedet.

Я бы посоветовал вам просто использовать cscope и etags и посмотреть, как они вам нравятся. Вы можете установить cedet позже, как только вы познакомитесь с emacs.

Я написал статью в блоге об использовании Global/gtags и Speedbar для просмотра кода, которые могут оказаться полезными... (Я также подумал, что CEDET был немного медленным... и чрезвычайно сложным в настройке =)

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