代码自动对齐工具


source insight 编辑代码时,苦于source insight没有集成的代码格式化工具, GNUastyle是一个免费的代码格式化工具,能够整理符合c/c++规范  

我们可以将astyle.exe外挂到SourceInsight中。详细步骤如下:

 

1:从http://astyle.sourceforge.net 上下载AStyle_2.01_windows.zip (开放源码,可以仔细阅读)

2:解压缩后将bin文件夹下的astyle.exe放到source insight目录下 (自己可以放在任意位置)

      SourceInsight菜单栏里,Options-->Custom Commands界面上选择:Add,在弹出对话框写入 Astyle.

3:在run中添加astyle.exe --style=ansi %f,其中,如果astyle.exe所在路径中有空格,必须用""括起来,参数--style=ansi 代表ansi C 格式(如果你需要格式化java代码,这个地方改为:--style=java),"%f"是指作用于当前文件,这个必须的.其它命令参数可以参考astyle的帮助参数 可以查看网页http://astyle.sourceforge.net/astyle.html

4:此外,在此界面上还可以为这个命令设置快捷键,点击"keys",添加你觉得方便的按钮;

5:在SourceInsight菜单栏里,Options-->Menu Assignments界面上,将这个命令名称为Astyle添加到某工具栏下,我是依然放在了view下,在左面的Command列表里找到我们刚才添加的"Astyle",在右面的Menu中选择你要加到那个菜单下,这里我加到"view"下,可以在"Menu Contents"选择适当位置,点击"insert"即可。

 

1. 格式化从根开始的整个项目

AStyle.exe -A1 -R ./*.c ./*.h -bt4 -Sw -fpxHU -Jk3 -n %f

参数                      意义

Predefined Style Options

-A1         代表  --style = ansi  or   allman模式

 

Tab and Bracket options

-b         代表  语句块之前加上空格

-t4         代表  each tab as 4 spaces

 

Indentation options

-S         代表  switch开关语句,以便于使case x: 对自动对齐

-w        代表  用“/”对齐多行参数

 

Padding options

-f          代表  不相关的代码之间加空行

-p         代表  双目运算符前后加上空格,如:+  -  *  /

-x      代表  删除相关语句之是的空行如:if, else语句间的空行

-H           代表  if, for, while关键字与括号()之间加上空格

-U         代表  移除括号两边不必要的空格

 

 

Formatting options

-J           代表  为单行语句加上{}

-k3        代表  指针及引用(* &)符号,挨着变量名

 

Other option

-n         代表  不生成备份。默认生成 .orig文件

-R        代表  目录递归

 

注:

       格式化从根开始的整个项目,指的是把整个项目里的所有.c .h文件都格式化。打开工程目录,插件会自动识别出项目的根目录的。格式化后,这个项目就会全部更改。而且在格式化的过程中,会很消耗时间。

       造成的后果:在进行SVN提交时,由于先前的SVN代码与此不同,会进行大面积的更改。如果修改了格式化选项,还会造成代码的重新提交。如果大量文件产生格式问题,会把实际修改的内容掩盖掉,在回溯记录进行问题确认时,会产生麻烦。容易忽略了主要问题。

建议: 尽量少用此选项。如果为了使用整个项目更规范,可以使用此选项。提交单个文件时最好不要使用此选项。

 

 2. 格式化当前目录下的.c文件

AStyle.exe -A1 -R ./test/*.c  -bt4 -Sw -fpxHU -Jk3 -n %f

参数意义从略,看上面.

-R 后面添加所修改工程的路径,及文件名,就可以执行只格式化该目录下的.c文件。路径中的是用“/ or  /”都可以录找到路径。

 

建议: 在进行工程项目部分模块开发时,如果为了使这部分项目模块更规范,可以使用此选项。 对于频繁修改少量多个文件。可以使用此选项,以实现批处理文件的功能。

 

3. 格式化单个文件

AStyle.exe -A1 -bt4 -Sw -fpxHU -Jk3 -n %f

参数从略,看上面

只进行当前修改文件的格式化处理。 只针对单个文件起作用。这样很容易使所写文件更加的规范。在编写代码过程中,可以省去很多调整代码结构的时间,是最常用的选项。

 

建议:在平时编写代码时,尽量使用此选项。只对单个文件进行处理,不会影响其它文件。

SVN进行提交时,影响最小。



演示:

下图为Astyle源代码被小编故意敲入空格,不对齐的截图:

程序猿看过来:代码自动对齐工具(支持多种语言,CodeView巨方便,需要工具的留邮箱地址)


下图为使用Astyle命令,格式化对齐后的代码截图:

程序猿看过来:代码自动对齐工具(支持多种语言,CodeView巨方便,需要工具的留邮箱地址)


通过两幅截图,可以明显看到,代码有了整齐的缩进,很方便阅读,以后遇到懒猿写的不整齐代码也不用怕了吧  : )

 

http://zhan.renren.com/h5/entry/3602888498042219056

你可能感兴趣的:(代码自动对齐工具)