在开发过程中,有的是因协同开发,有的是不同人用的代码编辑器可能是不一样,有的是应为个人风格原因,有的是代码中Tab跟空格混用,有时候用Tab,有时候又用空格。再整个项目的代码整合再一起的时候。导致代码格式都没有对齐,if,while等嵌套多了,括号也没对齐,导致代码可读性不高,也不够规范,自己看的也不整洁,在我们攻城狮领域,先不说内涵,写的代码有多么精妙,最基本的代码的可读性,整洁度就是我们的门面,是吧,所以这方面应该保持基本的“强迫症”。
针对常用编辑器 IAR KEIL 这类编辑器没有相对应的工具,介绍一款小插件Artistic Style,最新版本是3.1。
插件介绍
Artistic Style适用于C,C ++,C ++ / CLI,Objective C,C#和Java源代码,是一款免费,快速,小型自动格式化程序。由Jim Pattee维护和更新,原始作者是以色列的塔尔·戴维森(Tal Davidson)。
KEIL 设置方法:
1.首先从官网下载软件,为了方便就把软件下载后的解压包放在在C:SofewareKeil_v5AStyle这个目录,大家可以根据自己的喜好来放在其他目录;
2.打开MDK,在菜单栏Tools中选择 Customize Tools Menu,然后按照下图一步步做;
3.最后一步格式配置这里,是有很多不同格式命令的:
- -n:不生成备份文件。
- !E:格式化当前文件。
- –indent=spaces=2 :缩进使用空格,空格个数为2(你可以修改数字为其他的)。
- –align-pointer=name :*,&,^靠近变量名称。
- –pad-oper:运算符两端插入空格。
- –pad-comma :逗号后插入空格,如果启用了上面的选项,此参数也可以省略。
- –unpad-paren :取消括号内部或者外部的空格(比如函数名靠近括号)。
- –attach-return-type-decl :返回值类型与函数名称保持在同一行。
- –convert-tabs :将TAB转换为空格。
- –attach-closing-while :do while循环的while语句跟第二个大括号保持在同一行。
- –indent-switches :switch语句中的case选项,要保持缩进格式。
- –max-instatement-indent=60 :一行代码的字符长度,如果超过这个长度会断开并换行。
- --style=ansi :大括号对齐方式,ansi 可以替换为 Linux, GNU,,java。
- --align-pointer=name/-k3 指针符号紧贴名字。
4.这里整理了一个我常用的命令,格式化当前文件:!E --style=ansi -n -p -s4 -S -f -xW -w -xw。
5.使用前:
6.使用后:
IAR 设置方法:
1.首先从上面官网下载软件,为了方便就把软件下载后的解压包放在在C:SofewareIAR SystemsEmbedded
Workbench 8.30.1AStyle这个目录,大家可以根据自己的喜好来放在其他目录;
2.打开IAR,在菜单栏Tools中选择configure tools,然后按照下图一步步做;
3.最后一步格式配置这里,与上面配置大致一样,其中 !E命令无法在 IAR 中使用,使用的环境变量 $FILE_PATH$。
4.在IAR也整理了一个常用的命令,对当前文件生效:-n -p -D -s4 -F -S -H --style=ansi $FILE_PATH$。
5.使用前:
6.使用后:
- 快捷键设置:
设置好以上命令后,每次都需要先点击 Tools 再点击设置的命令。显得过于繁琐。这时候需给刚刚设置的命令添加一个快捷键。便于快速操作:
KEIL: 按照以下操作:
IAR按照以下操作:
- 注意事项:
在使用此插件时,需要保存文件。
使用此插件后,ctrl+z 撤回不可再用,如要查看格式化之前的文件,请删除命令中的 “-n” 不生成备份文件,即默认的 .orig文件,这样,每次使用此插件都会生成一个对应的.orig文件。里边保存的四格式化之前的文件。