2009-05-08 8 views
127

Il existe de nombreux outils de formatage de code source. Lesquels fonctionnent le mieux pour C++?Meilleur formateur de code C++/Beautifier

Je suis intéressé par les outils de ligne de commande ou d'autres choses qui peuvent être exécutées automatiquement lors de la vérification du code in/out, de préférence sans avoir besoin de lancer un éditeur ou un IDE.

(Si vous voyez celui que vous aimez déjà inscrit comme une réponse, vote it up. Si ce n'est pas là, ajouter.)

Répondre

120

AStyle peuvent être personnalisés en détail pour C++ et Java (et d'autres aussi

Ceci est un outil de formatage de code source.


clang-format est une puissante ligne de commande outil fourni avec le compilateur clang qui gère même les constructions de langage les plus obscurs d'une manière cohérente.

Il peut être intégré à Visual Studio, Emacs, Vim (et autres) et ne peut formater que les lignes sélectionnées (ou avec git/svn pour formater un diff).

Il peut être configuré avec une variété d'options répertoriées here. Lors de l'utilisation de fichiers de configuration (nommés .clang-format), les styles peuvent être par répertoire - le fichier le plus proche dans les répertoires parents doit être utilisé pour un fichier particulier.

Les styles peuvent être héritées d'un paramètre prédéfini (ou dire LLVM Google) et peut remplacer plus tard différentes options

Il est utilisé par Google et d'autres et est prêt pour la production.


Regardez également le projet UniversalIndentGUI. Vous pouvez expérimenter avec plusieurs indenters en l'utilisant: AStyle, Uncrustify, GreatCode, ... et sélectionnez le meilleur pour vous. N'importe lequel d'entre eux peut être exécuté plus tard à partir d'une ligne de commande.


Uncrustify a beaucoup d'options configurables. Vous aurez probablement besoin de l'interface graphique Universal Indent (dans la réponse de Konstantin) pour le configurer.

+1

Nous avons des fichiers sources compliqués remplis de macros compliquées, ce qui rend difficile la compréhension de la façon de modifier le code ou de définir des points d'arrêt. Nous l'avons de-macro avec gcc -E, ce qui a abouti à de très longues lignes de boucles imbriquées, si des instructions, etc. Astyle a résolu ce problème pour qu'il soit lisible, ce qui nous a épargné beaucoup de problèmes. Astyle a une place permanente sur ma plate-forme d'outils logiciels! – DarenW

+8

Astuce Vim: si vous voulez embellir le code dans un fichier que vous êtes en train d'éditer, utilisez:%! Astyle – tonylo

+0

C'est un outil génial. Je cours astyle chaque fois que je dois travailler sur le même projet avec MSVStudio sur Windows (au travail) et emacs sur Linux (à la maison). J'utilise le style BSD avec emacs et astyle (qui est proche du style que j'utilise avec l'éditeur MSVC), et j'ai toujours un code source correctement indenté. Il semble même beau indépendamment de la taille de l'onglet! –

Questions connexes