前些天GOOGLE后找到了不少格式工具,
由于很多的工具,比如SourceStyler C++和SourceFormatX C++等等都不具备详细的配置,不怎么更新,并且需要破解的麻烦。
当然做基本的格式化是没啥问题的,可惜本人要求一直很高,当看到GC_1_140的某个实现版本C++ Code Export 1.0.0对代码的格式化程度时候欣喜若狂,
下面是格式化后的代码:
注意在定义前后加了
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
并将所有注释统一转换为
/*
* CString tmp=m_APNNameControl.GetItemText(i,1);
* PSN
*/
当然C++ Code Export 1.0.0问题很多。。。并且只看到一个版本,万一格式化出问题了,也并不知道,这就麻烦了。。。
后来又找到了UniversalIndentGUI,有win32图形化的配置界面,但是UniversalIndentGUI_win32有个最大的问题是竟然不识别文档的编码类型,好像没看对ANSI文本格式的支持!!!晕死。。。
后来终于找到了
https://sourceforge.net/projects/uncrustify
uncrustify-0.53-win32,可惜配置文件太夸张了!!!没法一蹴而就,只好等来日再做修改了。。。
今天附上我的配置文件下载地址(含配置文件和可执行程序,最新版请到sourceforge下载)
如何嵌入到souce insight:
(配置文件和可执行程序都放在E:\Tools\formater\uncrustify\my-favorite)
运行souce insight,打开菜单Options-->Custom Commands:
打开窗口
在点击Add 为此命令命名(可为任意名字,这里命名为 formate-use-uncrustify), 在Run处添加:
注意选择Share Files 和 File,then Line.
将自定义命令加入自定义菜单的方法:
现在用SI打开新的代码源文件,如 C, C++, C#, ObjectiveC, D, Java, Pawn and VALA等,然后运行此菜单的名即可格式化,格式化后的效果:
是不是很不错?
enjoy !