实验: code beautifier

原来一直没有找到对中文支持良好的免费格式化代码的工具.

 

今天看资料, 顺路找到一个好用的工具"Artistic Style"

 

当前版本: AStyle_2.01_windows.zip

最新版本的下载点: http://sourceforge.net/projects/astyle/

 

AStyle_2.01_windows的备份下载点: http://download.csdn.net/source/3041047

 

 

阅读第三方工程时, 先格式化成自己熟悉的编码风格,再进行阅读,修改。

使工作的心情变好,注意力集中, 提高了产能.

 

今天实验了在vs6IDE中集成AStyle格式化代码, 感觉非常好.

 

设置IDE

实验: code beautifier_第1张图片

 

AStyle/bin下有个编译好的AStyle.exe, 拷贝到固定目录. 我是拷贝到c:/windows下.

添加格式化的工具按钮.

实验: code beautifier_第2张图片

实验: code beautifier_第3张图片

工具按钮的3个参数为:

C:/WINDOWS/AStyle.exe--style=ansi --indent=force-tab=4 -b -S -K -N -L -w -Y -m0 -f -p -U -x -j -k2 -n --options=none -z2 -M79 $(FilePath)$(FileDir)

如果没有格式化效果,解决方法如下:

实验: code beautifier_第4张图片

把工具按钮拖到IDE工具条上,方便使用

实验: code beautifier_第5张图片

实验: code beautifier_第6张图片

把这个按钮用鼠标拖到IDE的工具栏空的地方

实验: code beautifier_第7张图片

做了实验, 只要是人写的代码都能格式化的很好。

 

发现了一个缺点:

  超长的行不能自动截断回行, 也有可能是astyle的帮助上忽略了这一点。不知道是哪个参数设置这个.

 

期待astyle新版本的出炉.

 

今天在研究一个图表demo工程,拿这个工程的主cpp做个代码格式化效果对照

格式化完成后:

这段代码的原文,也很规范。 但是经过比对, 可以看出,格式化之后的代码供阅读的清晰度大大提高了。

重要的一点是贴近了自己的编码风格, 使研读代码时,心情更好,效率更高.

 

<2011_0327>

用了一段时间, 发现有不符合实际的配置.

在代码中, 习惯于按照逻辑划分留出一些空行, 使程序易读. 文档化的注释业余上面的代码保持一定的行距.

但是 -x 选项把特意流出的空行给消掉了, 代码在垂直方向都挤在一起, 不符合实际应用.

 

新的配置去掉了'-x'选项

--style=ansi --indent=force-tab=4 -b -S -K -N -L -w -Y -m0 -f -p -U -j -k2 -n --options=none -z2 -M79 $(FilePath)

<2011_0727>

实验了Astyle on vs2005的配置:

AStyle
C:\AStyle\bin\AStyle.exe
--style=ansi --indent=force-tab=4 -b -S -K -N -L -w -Y -m0 -f -p -U -j -k2 -n --options=none -z2 -M79 $(ItemFileName)$(ItemExt)
$(ItemDir)
实验: code beautifier_第8张图片
实验: code beautifier_第9张图片

感觉Astyle还是没有SourceFormatX 2.56好用, 只能格式化正常的代码.

<2011_0727>

看SourceFormatX的帖子,提到了GC工具, 试用了一下, 默认配置简单, 效果也不错, 就是格式化出来的代码怪模怪样的, 以后再配置.

http://sourceforge.net/projects/gcgreatcode/files/gcgreatcode/release%20140/GC_1_140.zip/download

GC
C:\GC_1_140\GC\GC.exe
-file-$(ItemPath)
$(SolutionDir)


在sourceforge上找到了UniversalIndentGUI, 类似于sourceFormatX, 有UI, 有格式化的预览.

不好的地方是只能单个文件进行格式化, 也不能集成到VS IDE中.

http://sourceforge.net/search/?q=UniversalIndentGUI

找到了把UniversalIndentGUI集成到VS2005中的方法~: 配置效果可以看UniversalIndentGUI的预览, 一旦确定后,就可以生成doit.bat. 集成到vs2005中方便的使用~~

实验: code beautifier_第10张图片

实验: code beautifier_第11张图片

实验: code beautifier_第12张图片

看来在VS IDE中添加扩展命令项方法都类似, 不同的地方是命令的参数不同.

<2011_0821>

找到了能保留Doxygen注释的一种代码格式化选项, 而且符合平时的编码风格

实验: code beautifier_第13张图片


<2011_0904>

找到了选项, 使入参之间用空格分开

实验: code beautifier_第14张图片

<2014-0601>

Astyle2.04的选项变了,试了试, 加的选项多了,反而不靠谱.

一旦代码格式化乱了,再也格式化不回来了. 除非用svn上的版本cleanup后替换回来.

采用最简单的默认规则, 凑合着看. 不追求完美的效果~

// vs2010 => Tools => options => Environment => Documents => select below options
// * Detect when file is changed outside the environment
// * Auto-load changes, if saved.

AStyle format
D:\AStyle.exe
--style=ansi $(ItemFileName)$(ItemExt)
$(ItemDir)





你可能感兴趣的:(实验: code beautifier)