127

有很多源代码格式化工具。哪些最适合 C++?

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

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

4

1 回答 1

120

可以为 C++ 和 Java(以及其他)非常详细地定制AStyle

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


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

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

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

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

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

它被 Google 和其他人使用,并且已准备好生产。


另请查看项目UniversalIndentGUI。您可以使用它来试验几个压头:AStyle、Uncrustify、GreatCode,...并选择最适合您的。它们中的任何一个都可以稍后从命令行运行。


Uncrustify很多可配置的选项。您可能还需要 Universal Indent GUI(在 Konstantin 的回复中)来配置它。

于 2009-05-08T18:07:33.380 回答