Keil下AStyle自动格式化代码(转)
文章转载自:Keil下AStyle自动格式化代码_ZDQ1431的博客-CSDN博客
有时候需要用到一个功能,就先会在网上找到对应的程序,但是百度直接拿来的程序通常不是很规范。keil需要自动格式化代码的功能,需要一些设置如下(keil4与keil5都适用)
使用AStyle进行代码格式化
Astyle 下载链接 :链接:https://pan.baidu.com/s/1XfJV2hoo7JocoWTrCBOmwA或者官网下载http://astyle.sourceforge.net
提取码:x6n3
复制这段内容后打开百度网盘App,下载并把软件解压
keil5单击Tools菜单—>Customize Tools Menu
添加Astyle All Files 和Astyle Current File自定义菜单(可以使用中文)
a.添加格式化当前文件菜单的方法:
b.新建命令为格式化当前文件
c.添加Command命令:单击…按钮,选择Astyle.exe,选择的路径是下载Astyle后解压的绝对路径。
d.Arguments:Astyle Current File即格式化当前文件菜单填写 !E 最后点击OK
添加格式化project中的所有文件菜单的方法:
a.新建命令为格式化project中的所有文件
b.添加Command命令:单击…按钮,选择Astyle.exe,选择的路径是下载Astyle后解压的绝对c.路径。
d.Arguments:Astyle All Files即格式化项目所有文件菜单填写
-n "$E*.c" "$E*.h" --style=ansi -p -s4 -S -f -xW -w -xw -R.
最后点击OK
注:!E 表示的是当前获得焦点且正在编辑的文件。
也可以使用更多参数如:
--style=ansi -s4 -S -p -D -m0 -M40 --convert-tabs --suffix=.pre
-s4 表示默认tab是4个空格
-S 表示缩进switch中的case块,case和switch不在同一列
-p 操作符两端插入空格
-D 括号内侧插入空格
-m0 -M40
函数多行参数的对齐, 表示最小0,最大40的缩进
--convert-tabs 表示所有tab转换为空格, 不同的编辑器可能tab键表示几个空格不一样,使用这个参数结合前面的 –s4参数,则所有tab都转换成4个空格,这样任何编辑器上看都不会乱掉
--suffix=.pre 表示修改的文件加pre后缀备份
E∗.c和E*.h代表当前获得焦点且正在编辑文件所在目录下所有.c和.h文件(参考keil uVision的帮助文档)
使用的是Astyle默认格式来格式化文件,另外也可以自定义格式,自定义格式参考Astyle的帮助文档。默认格式化后,会备份原文件为源文件名.orig。如果不想让Astyle备份文件,可以使用-n参数。 如:-n !E (表示格式化当前文件,不备份)
在keil中的使用效果:生成的菜单出现在Tools的下拉菜单中,Astyle的运行结构出现在keil的Build Output窗口中。
4.为格式化当前文件和格式化所以文件添加快捷键
打开后在配置界面中选择 Shortcut Keys 选项,然后再左边找到Tools:格式化当前文件菜单,选中这个菜单。下来就可以给这个菜单添加快捷键了。
点击右边Create Shortcut按钮,弹出一个对话框。
这时候按键盘上需要添加的快捷键,比如同时按下:Ctrl+Alt+C 键。
这时对话框中就会显示刚按下的键,同时底下会提示这个快捷键是否已经被定义。
Unassigned 意思就是此快捷键未被定义。说明这个快捷键可以使用。设置好快捷键之后,点确定按钮。
点击 OK按钮,这样格式化全部文件命令的快捷键就被定义好了。
此时在菜单栏中就可以看到设置好的快捷键,用同样的方式给格式化所有文件的菜单也设置一个快捷键。