Лучший С++ Code Formatter/Beautifier

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

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

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

Ответ 1

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

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


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

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

Его можно настроить с помощью следующих опций здесь.

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

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

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


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


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