配置
在Souce insight上选择Tools->Custom Commands,点击Add,输入Astyle,点击OK。
在Run中输入C:\AStyle\bin\AStyle.exe --style=ansi -S -N -L -xC80 -z2 --convert-tabs -H -p -U --align-pointer=name --quiet --suffix=none %f
如下图所示:
完成后点击Close。
在Source insight选择Options->Menu Assignments,在Command中选择Astyle,在Menu中选择View,在Menu Contents中选择Toolbars,然后点击Insert,如下图所示。
点击Insert,点击OK,完成。
在Source insight中选择Options->Key Assignments,在Command中选择Astyle,点击Assign New Key,然后输入一个快捷键(我使用的是Ctrl+Alt+F),如下图所示。
点击OK后完成快捷键的配置。
使用
Asytle是完全可以脱离Source insight来单独使用的,这里仅说明如何在Source insight中使用Asytle。
在上面的步骤中,我们配置了快捷键,只要打开想格式化的.c或者.h文件,按下快捷键,如果配置无误,文件就会被格式化,然后Source insight会提示重新载入这个文件,动手试一下吧。
Astyle参数
Astyle提供了很多参数供大家使用,通过配置这些参数,我们可以将文件格式化成我们想要的形式。
我使用的是
--style=ansi -S -N -L -xC80 -z2 -H -p -U --align-pointer=name --suffix=none --quiet
配置 | 含义 |
---|---|
-S | ”case XXX”需要缩进 |
-N | namespace中的内容缩进 |
-L | 缩进label,让label比当前的内容先前一个缩进距离,而不是通通靠左 |
-xC80 | 最长80个字符 |
-convert-tabs | 将tab转换为合适长度的空格 |
-H | 在if for等关键字后面,加一个空格 |
-p | 在操作符两边加空格 |
-U | 去掉()内部不必要的空格 |
---align-pointer=name | 让*更靠近变量名 |
--suffix=none | 不备份原始文件 |
更多的参数,可以直接在命令行中输入
astyle --help
就可以看到了。
Astyle并不是万能的格式化工具,只能支持一些典型的格式化,例如:
- 函数多参数对齐
- 使代码不超过80字符
- Tab全部转化成空格
- 细化一些空格、*的放置方式。
- 代码缩进
- 去掉每行末尾无用的空格
- 花括号的放置