【问题标题】:Best C++ Code Formatter/Beautifier最佳 C++ 代码格式化程序/美化程序
【发布时间】:2010-10-24 20:58:10
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ code-formatting


    【解决方案1】:

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

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


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

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

    它可以配置here列出的各种选项。

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

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

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


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


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

    【讨论】:

    • 我们有一些杂乱无章的源文件,里面充满了复杂的宏,很难理解如何修改代码或设置断点。我们使用 gcc -E 对其进行了去宏化,导致嵌套的 for 循环、if 语句等非常长的行。Astyle 将其修复为可读性,为我们省去了很多麻烦。 Astyle 在我的软件工具架上占有一席之地!
    • Vim 提示:如果你想美化你正在编辑的文件中的代码,请使用:%!astyle
    • 这是一个很棒的工具。每次我必须使用 Windows 上的 MSVStudio(工作中)和 linux 上的 emacs(在家)处理同一个项目时,我都会运行 astyle。我使用带有 emacs 和 astyle 的 BSD 风格(这与我在 MSVC 编辑器中使用的风格很接近),而且我总是有正确缩进的源代码。它甚至看起来很漂亮,与标签大小无关!
    • 试过了。很容易得到一个快速的结果(文档很好)。可惜没有那么多选择!一些程序员在代码中用空格填充的方式非常有创意,而 AStyle 并不能处理所有这些创意。
    • 没有最大线宽选项。这应该是必须的。
    猜你喜欢
    • 2010-09-25
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 2010-09-28
    相关资源
    最近更新 更多