Лучший форматировщик / украситель кода C ++

Существует множество инструментов для форматирования исходного кода. Какие из них лучше всего подходят для C ++?

Меня интересуют инструменты командной строки или другие вещи, которые могут запускаться автоматически при проверке ввода / вывода кода, желательно без необходимости запуска редактора или IDE.

(Если вы видите, что тот, который вам нравится, уже указан в качестве ответа, проголосуйте за него. Если его нет, добавьте его.)


person Community    schedule 08.05.2009    source источник


Ответы (1)


AStyle можно детально настроить для C ++ и Java (и других тоже)

Это инструмент форматирования исходного кода.


clang-format - это мощный инструмент командной строки в комплекте с компилятор clang, который согласованно обрабатывает даже самые непонятные языковые конструкции.

Он может быть интегрирован с Visual Studio, Emacs, Vim (и другими) и может форматировать только выбранные строки (или с помощью git / svn для форматирования некоторых различий).

Его можно настроить с помощью множества параметров, перечисленных здесь.

При использовании файлов конфигурации (с именем .clang-format) стили могут быть для каждого каталога - ближайший такой файл в родительских каталогах должен использоваться для конкретного файла.

Стили могут быть унаследованы от предустановки (скажем, LLVM или Google) и позже могут переопределять различные параметры.

Он используется Google и другими и готов к производству.


Также посмотрите проект UniversalIndentGUI. Вы можете поэкспериментировать с несколькими инденторами, используя его: AStyle, Uncrustify, GreatCode, ... и выбрать лучший для себя. Любой из них можно будет запустить позже из командной строки.


Uncrustify имеет множество настраиваемых параметров. Вам, вероятно, также понадобится графический интерфейс универсального отступа (в ответе Константина), чтобы его настроить.

person Community    schedule 08.05.2009
comment
У нас есть несколько беспорядочных исходных файлов, полных сложных макросов, из-за чего трудно понять, как изменить код или установить точки останова. Мы удалили макрос с помощью gcc -E, что привело к очень длинным строкам вложенных циклов for, операторов if и т. Д. Astyle исправил это, чтобы оно было читаемым, что избавило нас от многих проблем. У Astyle есть постоянное место на моей полке инструментов программного обеспечения! - person DarenW; 10.08.2010
comment
Совет Vim: если вы хотите украсить код в файле, который вы редактируете, используйте:%! Astyle - person tonylo; 16.12.2010
comment
Это отличный инструмент. Я запускаю Astyle каждый раз, когда мне приходится работать над одним и тем же проектом как с MSVStudio в Windows (на работе), так и с emacs в Linux (дома). Я использую стиль BSD с emacs и astyle (который близок к стилю, который я использую с редактором MSVC), и у меня всегда есть исходный код с правильным отступом. Он даже выглядит красиво независимо от размера вкладки! - person Alexandre C.; 24.02.2011
comment
Пробовал. Получить быстрый результат очень просто (док хорош). Жаль, что вариантов не так много! Некоторые программисты очень творчески подходят к тому, как они дополняют свой код пробелами, и AStyle не справляется со всем этим творчеством. - person fury; 03.05.2012
comment
Варианта максимальной ширины линии нет. Это должно быть обязательно. - person Sogartar; 08.10.2012