【发布时间】:2011-03-25 17:05:02
【问题描述】:
假设您有一堆由不同作者用 C、C++ 或 Fortran 编写的文件,在格式、如何注释等方面有不同的意见。我想很多人都知道这样的情况。
是否有任何免费工具可以达到以下目的:
- 统一的代码格式(缩进等)
- 创建标准评论正文
- 重命名变量
?
【问题讨论】:
标签: c++ c fortran code-formatting
假设您有一堆由不同作者用 C、C++ 或 Fortran 编写的文件,在格式、如何注释等方面有不同的意见。我想很多人都知道这样的情况。
是否有任何免费工具可以达到以下目的:
?
【问题讨论】:
标签: c++ c fortran code-formatting
您可以查看indent (unix) 命令。它并不能满足您的要求,但我认为这是一个好的开始
【讨论】:
看看 AStyle。它是一个基于命令行的格式化程序/美化器。尽管它适用于 C、C++、C# 和 Java,但它不处理 Fortran
【讨论】:
Eclipse 的 CDT 插件具有出色的 C/C++ 格式化和重构工具。
可以自定义格式化程序以满足几乎所有需求。
重构工具也非常强大,使用它们重命名变量、类等是一项简单而安全的任务。 (他们使用索引器/解析器来识别变量的范围,所以它不是简单的搜索和替换。cmets 中的匹配模式也可以自动更改。
但是,据我所知,无法进行批处理。
编辑:另一个明显的缺点是,您必须创建一个项目才能使索引器(以及重构工具)工作。因此,至少您必须将所有包含路径和重要的编译器定义添加到项目设置中。 我从未尝试过,但是如果没有可用的真正编译器,索引器应该可以正常工作,但可能需要使项目使用“内部构建器”,否则您无法设置包含路径。 (我不确定这一点,因为我在我的项目中使用带有 gcc 的内部构建器 - 这工作正常。)
【讨论】:
我使用Uncrustify 和UniversalIndentGui 来格式化C++ 代码。它工作得很好。 Uncrustify 提供了许多自定义选项,UniversalIndentGui“提供实时预览,用于设置几乎所有压头的参数。您更改参数的值并直接查看重新格式化的代码的外观。”
【讨论】:
对于 Fortran,有 plusFORT,它可以做的远远超出您的要求,例如重组代码和从 FORTRAN 77 转换为 Fortran 90。请参阅http://www.polyhedron.com/pf-plusfort0html 和 http://www.polyhedron.com/pflinux0html
【讨论】: