Najlepszy program do formatowania / upiększania kodu C ++

127

Istnieje wiele narzędzi do formatowania kodu źródłowego. Które z nich działają najlepiej w C ++?

Interesują mnie narzędzia wiersza poleceń lub inne rzeczy, które można automatycznie uruchamiać podczas sprawdzania kodu do / z, najlepiej bez konieczności uruchamiania edytora lub IDE.

(Jeśli zobaczysz, że ta, która Ci się podoba, jest już wymieniona jako odpowiedź, zagłosuj na nią. Jeśli jej tam nie ma, dodaj ją).

Kristopher Johnson
źródło

Odpowiedzi:

120

AStyle można bardzo szczegółowo dostosować do C ++ i Java (i nie tylko)

To jest narzędzie do formatowania kodu źródłowego.


clang-format to potężne narzędzie wiersza poleceń dołączone do kompilatora clang, które obsługuje nawet najbardziej niejasne konstrukcje językowe w spójny sposób.

Może być zintegrowany z Visual Studio, Emacs, Vim (i innymi) i może formatować tylko wybrane linie (lub za pomocą git / svn w celu sformatowania niektórych różnic).

Można go skonfigurować za pomocą różnych opcji wymienionych tutaj .

W przypadku korzystania z plików konfiguracyjnych (nazwane .clang-format) style mogą znajdować się w katalogu - najbliższy taki plik w katalogach nadrzędnych powinien być użyty dla konkretnego pliku.

Style mogą być dziedziczone z gotowych ustawień (np. LLVM lub Google) i mogą później zastępować różne opcje

Jest używany przez Google i innych i jest gotowy do produkcji.


Spójrz także na projekt UniversalIndentGUI . Możesz poeksperymentować z kilkoma wcięciami, używając go: AStyle, Uncrustify, GreatCode, ... i wybrać najlepsze dla siebie. Każdy z nich można uruchomić później z wiersza poleceń.


Uncrustify ma wiele konfigurowalnych opcji. Prawdopodobnie będziesz potrzebować interfejsu GUI Universal Indent (w odpowiedzi Konstantina), aby go skonfigurować.

Bill the Lizard
źródło
1
Mamy trochę niechlujnych plików źródłowych pełnych skomplikowanych makr, co utrudnia zrozumienie, jak zmodyfikować kod lub ustawić punkty przerwania. Usunęliśmy go z makra za pomocą gcc -E, w wyniku czego powstały bardzo długie wiersze zagnieżdżonych pętli for, instrukcji if itp. Astyle naprawił to, aby był czytelny, oszczędzając nam wielu kłopotów. Astyle ma stałe miejsce na mojej półce z narzędziami!
DarenW
8
Wskazówka Vima: jeśli chcesz upiększyć kod w aktualnie edytowanym pliku, użyj:%! Astyle
tonylo
To świetne narzędzie. Uruchamiam astyle za każdym razem, gdy muszę pracować nad tym samym projektem z MSVStudio w systemie Windows (w pracy) i emacsem w systemie Linux (w domu). Używam stylu BSD z emacsem i astyle (który jest zbliżony do stylu używanego w edytorze MSVC) i zawsze mam odpowiednio wcięty kod źródłowy. Wygląda pięknie nawet niezależnie od rozmiaru zakładki!
Alexandre C.
1
Spróbował tego. Bardzo łatwo jest uzyskać szybki wynik (dokument jest dobry). Szkoda, że ​​nie ma tak wielu opcji! Niektórzy programiści są bardzo kreatywni w sposobie wypełniania kodu spacjami, a AStyle nie obsługuje całej tej kreatywności.
furia
Nie ma opcji maksymalnej szerokości linii. To powinno być obowiązkowe.
Sogartar