astyle是一个我自己常用的开放源码工具。它可以方便的将程序代码格式化成自己想要的样式而不必人工修改。本来嘛,作为高等生物应该优先去做一些智慧的事情,而不是把时间消耗在机器可以完美完成的事情上。
想要立刻开始?请先去主页http://sourceforge.net/projects/astyle下载最新版本。可以选择二进制版本,也可以下载源码自行编译。总之得到可执行文件后请将astyle放在Path(C:\Program Files\Microsoft Visual Studio 8\Common7\IDE)中,这样会方便很多。
astyle是一个命令行工具,命令语法很简单:astyle [options] < original > Beautified astyle [options] Foo.cpp Bar.cpp [...]
例如:
astyle --style=ansi foo.cpp
上面的命令将美化foo.cpp文件,更改其风格为ANSI,并将原始文件备份到foo.cpp.orgin。所以,你可以安全的使用该软件而不必担心会将代码改得无法回头。
具体的来说,astyle包含了以下几种预定义风格,只需在参数中简单指定即可使用:
--style=ansi:ANSI 风格格式和缩进namespace foospace{ int Foo() { if (isBar) { bar(); return 1; } else return 0; }}
--style=kr :Kernighan&Ritchie 风格格式和缩进namespace foospace { int Foo() { if (isBar) { bar(); return 1; } else return 0; }}
--style=linux :Linux 风格格式和缩进namespace foospace{ int Foo() { if (isBar) { bar(); return 1; } else return 0; }}
--style=gnu :GNU 风格格式和缩进namespace foospace{ int Foo() { if (isBar) { bar(); return 1; } else return 0; }}
--style=java :Java 风格格式和缩进class foospace { int Foo() { if (isBar) { bar(); return 1; } else return 0; }}
从这里开始介绍astyle的高级应用!这里要介绍的是两种应用情形,一是在Visual Studio中整合,二是批量处理。
先看如何在Visual Studio中整合。看图说话!
第一步:点击“工具”菜单
第二步:点击“外部工具”
第三步:配置并保存
在对话框中点击“添加”,如图填入各项。其中参数填写 --style=ansi $(ItemFileName)$(ItemExt)
可以勾选“使用输出窗口”,这样将不会显示黑色的命令窗口。相关信息都会显示在Visual Studio中。
经过上面设置之后,只需点击该菜单项就可以将当前文档格式化成ansi风格。如果你想要其它风格,可以自行设置参数。
值得注意的是在低版本的Visual Studio中,默认设置运行外部程序不会保存当前文档。这样的话如果在未保存的情况下运行该命令,未保存部分将会丢失。这个可以通过设置一个选项来解决。Visual Studio 6.0中:Options -> Editor -> Save Options -> Save before running tools 将该项勾选即可。我已经验证