最佳C ++代码格式化程序/美化器


127

那里有很多源代码格式化工具。哪一种最适合C ++?

我对命令行工具或其他可在签入/签出代码时自动运行的东西感兴趣,最好无需启动编辑器或IDE。

(如果看到您喜欢的答案已被列为答案,请对其投票。如果不存在,请添加它。)

Answers:


120

AStyle可以针对C ++和Java(以及其他)进行非常详细的自定义

这是一个源代码格式化工具。


clang-format是与clang编译器捆绑在一起的功能强大的命令行工具,可以连贯地处理最晦涩的语言构造。

它可以与Visual Studio,Emacs,Vim(以及其他)集成,并且可以仅格式化选定的行(或者使用git / svn格式化一些差异)。

可以使用此处列出的各种选项进行配置。

当使用配置文件(命名为.clang-format)时,可以按目录使用样式-父目录中最接近的此类文件应用于特定文件。

样式可以从预设(例如LLVM或Google)继承,并且以后可以覆盖不同的选项

它已由Google和其他公司使用,并且可以投入生产。


还要查看项目UniversalIndentGUI。您可以使用它来尝试使用多个压头:AStyle,Uncrustify,GreatCode等,然后选择最适合您的压头。它们中的任何一个都可以稍后在命令行中运行。


Uncrustify具有许多可配置的选项。您可能还需要Universal Indent GUI(在Konstantin的回复中)进行配置。


1
我们有一些杂乱的源文件,其中充满了复杂的宏,这使得很难理解如何修改代码或设置断点。我们用gcc -E将其取消了宏,导致嵌套了很长的for循环行,if语句等。Astyle在我的软件工具架上拥有永久的位置!
DarenW

8
Vim提示:如果要美化当前正在编辑的文件中的代码,请使用:%!astyle
tonylo 2010年

这是一个很棒的工具。每当我必须使用Windows上的MSVStudio(在工作中)和linux(在家中)的emacs来处理同一项目时,我都会运行astyle。我将BSD样式与emacs和astyle一起使用(这与我与MSVC编辑器一起使用的样式非常接近),并且我始终会正确缩进源代码。它甚至看起来很漂亮,与制表符大小无关!
Alexandre C.

1
试了一下。快速获得结果非常容易(文档很好)。遗憾的是,没有那么多选择!一些程序员在用空格填充代码方面很有创造力,而AStyle不能处理所有这些创造力。
愤怒

没有最大线宽选项。这应该是必须的。
Sogartar 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.