Кращий C ++ Форматор коду / красуня


127

Є багато інструментів форматування вихідного коду там. Які з них найкраще працюють на C ++?

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

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

Відповіді:


120

AStyle можна дуже детально налаштувати для C ++ та Java (та інших)

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


Формат clang - це потужний інструмент командного рядка , що поєднується з компілятором clang, який узгоджено обробляє навіть самі незрозумілі мовні конструкції.

Він може бути інтегрований з Visual Studio, Emacs, Vim (та іншими) та може форматувати лише вибрані рядки (або за допомогою git / svn, щоб відформатувати деяку різницю).

Його можна налаштувати за допомогою різноманітних параметрів, перелічених тут .

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

Стилі можуть бути успадковані з попередньо встановлених програм (скажімо, LLVM або Google) і пізніше можуть замінити різні параметри

Він використовується Google та іншими та готовий до виробництва.


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


У Unrruustify є безліч настроюваних варіантів. Можливо, вам знадобиться GUI універсального відступу (у відповіді Костянтина), щоб налаштувати його.


1
У нас є кілька брудних вихідних файлів, наповнених складними макросами, тому важко зрозуміти, як змінити код або встановити точки прориву. Ми де-макросували його за допомогою gcc -E, що призводить до отримання дуже довгих рядків вкладених циклів, якщо заяви тощо. Astyle має постійне місце на моїй полиці програмних інструментів!
DarenW

8
Підказка Vim: якщо ви хочете прикрасити код у файлі, який ви зараз редагуєте, використовуйте:%! Astyle
tonylo

Це чудовий інструмент. Я запускаю astyle щоразу, коли мені доводиться працювати над одним і тим же проектом як з MSVStudio на windows (на роботі), так і з emacs на Linux (вдома). Я використовую стиль BSD з emacs та astyle (що близько до стилю, який я використовую з редактором MSVC), і у мене завжди належним чином відведений вихідний код. Це навіть виглядає красиво незалежно від розміру вкладки!
Олександр К.

1
Спробував це. Отримати швидкий результат дуже просто (док. Це добре). Прикро, але не так багато варіантів! Деякі програмісти дуже креативні з тим, як вони прокладають код пробілами, і AStyle не справляється з усією творчістю.
лють

Немає можливості максимальної ширини рядка. Це повинно бути обов'язковим.
Sogartar
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.