2015-04-28 2 views
3

Я новичок в Emacs, и я хотел бы знать, может ли он автоматически форматировать код для различных языков (Java, C++, HTML, LaTeX), как автоформат в среде IDE NetBeans.Как автоматически форматировать код в Emacs, как в Netbeans IDE

Я также хотел бы знать,

  • имеет встроенный ли эта функция
  • Могу ли я загрузить эль-файл с этой опцией
  • Как настроить предпочтения авто-формата (tab- длина, линии между функциями, фигурные скобки в новой строке или в одной строке и т. д.), как в NetBeans.

(Версии: Emacs-24 на Ubuntu-12.04/OS-X-10.9)

+0

Emacs не является IDE – tejas

+1

Emacs не является IDE сама по себе , Но я верю, что [этот пост] (http://stackoverflow.com/questions/63421/using-emacs-as-anide) может изменить ваше мнение. –

ответ

2

Вы бы найти его самостоятельно, если вы назвали его indent. Действительно, существует множество интерактивных функций, начинающихся с indent. Мы легко находим их с M-x indent TAB. Но мы также можем найти документацию с C-h ?, поэтому, если мы попробуем с C-h d RET indent RET для поиска в документации по функциям или с помощью M-x apropos RET foo RET, мы также найдем их.

построены и работать с различными языками (только пробовал с Elisp, питона и JavaScript) следующее:

  • M-x indent-region форматирует выбранный регион,
  • indent-sexp форматирует текущее выражение

Глобальной опцией для настройки отступа нет, мы должны погрузиться в параметры каждого режима. Часто есть варианты, такие как (setq html-tab-width 4).

изменения: некоторые намеки: (setq tab-width 8), (setq c-set-style "K&R"), (setq c-basic-offset 8) и с Emacs' построен в с-режиме или GNU отступа вы можете переключать стили: https://www.gnu.org/software/emacs/manual/html_mono/ccmode.html#Choosing-a-Style или https://www.gnu.org/software/indent/manual/indent.html#SEC4

+0

Благодаря @Ehvince область отступа работает отлично. Но как настроить, как этот отступ выполняется. Я вижу, что в C эта команда отступов отбрасывает фигурные скобки в новой строке, а также слегка отжимает скобки из условного оператора. Я хотел бы, чтобы фигурные скобки приходили по тому же столбцу, что и начало его родительского условного (если/while/for/do/switch). Как отредактировать эту функцию? –

+0

некоторые подсказки: '(setq tab-width 8)', '(setq c-set-style" K & R ")', '(setq c-basic-offset 8)' и с GNU Indent вы можете переключаться стилями https://www.gnu.org/software/indent/manual/indent.html#SEC4 – Ehvince

+0

и см. стили режима emacs c здесь: https://www.gnu.org/software/emacs/manual/html_mono/ccmode.html # Выбор-а-Style – Ehvince

Смежные вопросы