Emacs как конфигурация IDE для программирования на C? - PullRequest
16 голосов
/ 27 апреля 2011

Я использую emacs в качестве основной IDE для программирования на C. Я изучаю способы настройки emacs для работы в качестве IDE, а не простого текстового редактора. Конечно, я хочу подсветку синтаксиса и желательно некоторое завершение кода. Я также хочу, чтобы отдельные буферы позволяли использовать команды оболочки и компилировать M-x. Я хочу, чтобы он открывался в эту форму мультибуфера автоматически при посещении исходного файла C, вместо того, чтобы запускать каждый буфер отдельно. Я буду использовать это в основном для разработки Linux / BSD Unix, хотя я также пишу код для Mac OS X (снова Unix) и Windows (Windows 7 64bit).

Я исследовал стартовый набор Emacs, опубликованный Филом Хагельбергом (техномантизм), но он, кажется, очень ориентирован на динамические языки и использование git. Я использую emacs в основном для разработки на C и использую mercurial для VC. Я также относительный новичок, делающий конфигурацию Emacs относительно сложной для меня.

Сейчас я играю с CEDET и пакетом Emacs Code Browser (ECB), который больше соответствует тому, что я хочу, но все еще не совершенен.

Любые предложения по настройке emacs для IDE программирования на C приветствуются.

Ответы [ 3 ]

24 голосов
/ 27 апреля 2011

Прошло много времени с тех пор, как я сделал C, но вот несколько советов.

  1. Используйте flymake для анализа ошибок на лету. Я использовал его для Python и C, и это действительно здорово.
  2. Подсветка синтаксиса есть по умолчанию в режиме C.
  3. Компиляция M-x предназначена для make, поэтому, если у вас есть Makefile в вашей настройке, он должен работать нормально (правила flymake по умолчанию также используют это). Правило, подобное этому

    check-syntax:

          gcc -Wall -o nul -S ${CHK_SOURCES}
    

    позаботится о мухе. Этот полезен, когда вы редактируете в подкаталогах, но хотите скомпилировать сверху.

  4. etags полезно для перехода по коду. GnuGlobal также кажется популярным.
  5. Не могу комментировать ECB, так как я никогда не получал, чтобы он работал полностью, и когда я это делал, я никогда не находил это полезным. Я использую autocomplete.el для выполнения завершений, но это не зависит от контекста.
  6. Нет предложений 6.
  7. Встроенная интеграция с vc не так актуальна для git, поэтому я использую magit . Должны быть похожие проблемы с Mercurial.
  8. Здесь приведены некоторые замечания по настройке отступа .
  9. Вы должны использовать , какой режим работы . Это избавило меня от головной боли в прошлом.
  10. Значения по умолчанию для GUD довольно приличные, но вам следует потратить некоторое время и ознакомиться с ними, чтобы полностью использовать его мощность.
  11. Я интенсивно использую org-capture , чтобы переместить TBD в мои буферы режима org, чтобы я мог отслеживать их как элементы TODO. Это для всех языков. Я также использую режим org, чтобы вести дневник разработки для всех своих проектов.

Удачи.

3 голосов
/ 27 апреля 2011

Прочтите это Отличное руководство о том, как настроить CEDET. Я бы также посоветовал вам использовать cscope и ECB вместе с ним. Как уже упоминалось, Нуфал autocomplete и flymake очень полезны. Я также рекомендовал бы вам режим автопары .

1 голос
/ 16 января 2013

я не пробовал Emacs-IDE , но это кажется полезным и может помочь вам

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