2009-05-08 11 views
127

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

Interesują mnie narzędzia wiersza polecenia lub inne rzeczy, które mogą być automatycznie uruchamiane podczas sprawdzania kodu wejściowego/wyjściowego, najlepiej bez konieczności uruchamiania edytora lub IDE.

(Jeśli pojawi się jeden lubisz już wymienionych jako odpowiedź, głosowanie go. Jeśli go tam nie ma, należy go dodać.)

Odpowiedz

120

AStyle można dostosować w najdrobniejszych szczegółach na C++ i Java (i innych też)

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


clang-format jest potężnym komenda linia narzędzie w pakiecie z kompilatora dzyń, który obsługuje nawet najbardziej niejasnych konstrukcji językowych w sposób spójny.

Może być zintegrowany z Visual Studio, Emacs, Vim (i innymi) i może formatować tylko wybrane wiersze (lub z git/svn, aby sformatować niektóre różnice).

Może być skonfigurowany z różnymi opcjami podanymi here.

W przypadku używania plików konfiguracyjnych (o nazwach .clang-format) style mogą znajdować się w jednym katalogu - najbliższy taki plik w katalogach nadrzędnych będzie używany dla określonego pliku.

Style mogą być dziedziczone od presetu (powiedzmy LLVM lub Google) i może później zastąpić różne opcje

Jest on używany przez Google i innych, a produkcja jest gotowy.


Zobacz także projekt UniversalIndentGUI. Możesz eksperymentować z kilkoma wcięciami, używając go: AStyle, Unecrustify, GreatCode, ... i wybierz najlepsze dla siebie. Dowolny z nich można uruchomić później z wiersza poleceń.


Uncrustify ma dużo konfigurowalnych opcji. Prawdopodobnie będziesz potrzebował również GUI Universal Indent (w odpowiedzi Konstantina), aby go skonfigurować.

+1

Mamy trochę nieczytelnych plików źródłowych pełnych skomplikowanych makr, przez co trudno jest zrozumieć, jak zmodyfikować kod lub ustawić punkty przerwania. Usunęliśmy go za pomocą gcc -E, w wyniku czego powstały bardzo długie linie zagnieżdżonych pętli, instrukcje itp. Astyle poprawił to, aby był czytelny, oszczędzając nam wielu kłopotów. Astyle ma stałe miejsce na mojej półce narzędzi oprogramowania! – DarenW

+8

Wskazówka Vima: jeśli chcesz upiększyć kod w pliku, którego używasz do edycji, użyj:%! Astyle – tonylo

+0

To jest świetne narzędzie. Prowadzę astyle za każdym razem, gdy muszę pracować nad tym samym projektem z MSVStudio w Windows (w pracy) i emacs na Linuksie (w domu). Używam stylu BSD z emacs i astyle (który jest zbliżony do stylu używanego z edytorem MSVC), i zawsze mam właściwie wcięty kod źródłowy. Nawet pięknie wygląda niezależnie od rozmiaru zakładki! –