【问题标题】:Code polisher / reformater for C, C++ or Fortran [closed]C、C++ 或 Fortran 的代码抛光器/重新格式化器 [关闭]
【发布时间】:2011-03-25 17:05:02
【问题描述】:

假设您有一堆由不同作者用 C、C++ 或 Fortran 编写的文件,在格式、如何注释等方面有不同的意见。我想很多人都知道这样的情况。

是否有任何免费工具可以达到以下目的:

  • 统一的代码格式(缩进等)
  • 创建标准评论正文
  • 重命名变量

?

【问题讨论】:

标签: c++ c fortran code-formatting


【解决方案1】:

您可以查看indent (unix) 命令。它并不能满足您的要求,但我认为这是一个好的开始

【讨论】:

  • +1。可怕的工具。任何东西都可以配置。从命令行运行,可以批量缩进。
  • 手册页说它只适用于 C。在 fortran 文件上尝试显示了可怕的结果。确保在释放缩进之前将源复制到临时文件,因为默认情况下它会覆盖原始文件。
  • @Nathan:你不应该复制源文件。使用 VCS。
【解决方案2】:

看看 AStyle。它是一个基于命令行的格式化程序/美化器。尽管它适用于 C、C++、C# 和 Java,但它不处理 Fortran

【讨论】:

  • 这看起来非常棒,但是它似乎主要用于 C 代码,我想知道当 C++ 细节被抛出(模板,lambda)时它是如何执行的,我一定会试一试!
【解决方案3】:

Eclipse 的 CDT 插件具有出色的 C/C++ 格式化和重构工具。

可以自定义格式化程序以满足几乎所有需求。

重构工具也非常强大,使用它们重命名变量、类等是一项简单而安全的任务。 (他们使用索引器/解析器来识别变量的范围,所以它不是简单的搜索和替换。cmets 中的匹配模式也可以自动更改。

但是,据我所知,无法进行批处理。

编辑:另一个明显的缺点是,您必须创建一个项目才能使索引器(以及重构工具)工作。因此,至少您必须将所有包含路径和重要的编译器定义添加到项目设置中。 我从未尝试过,但是如果没有可用的真正编译器,索引器应该可以正常工作,但可能需要使项目使用“内部构建器”,否则您无法设置包含路径。 (我不确定这一点,因为我在我的项目中使用带有 gcc 的内部构建器 - 这工作正常。)

【讨论】:

    【解决方案4】:

    我使用UncrustifyUniversalIndentGui 来格式化C++ 代码。它工作得很好。 Uncrustify 提供了许多自定义选项,UniversalIndentGui“提供实时预览,用于设置几乎所有压头的参数。您更改参数的值并直接查看重新格式化的代码的外观。”

    【讨论】:

      【解决方案5】:

      对于 Fortran,有 plusFORT,它可以做的远远超出您的要求,例如重组代码和从 FORTRAN 77 转换为 Fortran 90。请参阅http://www.polyhedron.com/pf-plusfort0htmlhttp://www.polyhedron.com/pflinux0html

      【讨论】:

        猜你喜欢
        • 2010-09-06
        • 1970-01-01
        • 2011-08-19
        • 2011-01-15
        • 1970-01-01
        • 2010-09-07
        • 1970-01-01
        • 2010-09-17
        • 2017-05-08
        相关资源
        最近更新 更多