Il existe de nombreux outils de formatage du code source. Lesquels fonctionnent le mieux pour C++?
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, de préférence sans avoir besoin de lancer un éditeur ou un IDE.
(Si vous voyez celui que vous aimez déjà cité comme réponse, votez-le. Sinon, ajoutez-le.)
AStyle peut être personnalisé de manière très détaillée pour C++ et Java (et d'autres encore)
Ceci est un outil de formatage de code source.
clang-format est un puissant outil de ligne de commande fourni avec le compilateur Clang qui gère même les constructions de langage les plus obscures dans un environnement cohérent. façon.
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 certaines diff).
Il peut être configuré avec une variété d'options répertoriées ici .
Lorsque vous utilisez des 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és d'un préréglage (par exemple, LLVM ou Google) et peuvent par la suite remplacer différentes options
Il est utilisé par Google et par d’autres et est prêt pour la production.
Regardez aussi le projet niversalIndentGUI . Vous pouvez essayer plusieurs indenteurs en l'utilisant: AStyle, Uncrustify, GreatCode, ... et sélectionnez celui qui vous convient le mieux. N'importe lequel d'entre eux peut être exécuté ultérieurement à partir d'une ligne de commande.
ncrustify possède un lot d'options configurables. Vous aurez probablement également besoin de l'interface graphique Universal Indent (dans la réponse de Konstantin) pour la configurer.