1. 下载AStyle工具
下载链接。
下载后将其放在合适的位置,不用安装。我放在了keil安装目录下。
2.Keil中配置
- 打开tools下的Customize Tools Menu。
- 添加新的菜单,自定义你的名称。
- 添加AStyle的路径。
- 设置格式化命令与参数:
!E
3.效果展示
使用前:
使用后:
4.扩展参数
上面再参数配置时,只使用了最简单的参数。
AStyle还支持更多的格式化样式。
可以建立多个AStyle命令使用。
4.1 只格式化当前文件
将Arguments设置为:
!E --style=linux -D -U -k1 -c -n -M -W -S -w --indent=spaces=4 --align-pointer=type --align-pointer=name --indent-switches --indent=tab --break-blocks=all --indent-col1-comments --indent=tab --indent-switches
4.2 格式化整个工程
将Arguments设置为:
"$E*.c" "$E*.h" --add-brackets --align-pointer=name --indent-preprocessor --indent-switches --indent-col1-comments --style=ansi -p -U -n -s4 -S -N -L -H -k1 -M -W -c
4.3 参数说明
可以结合下列说明理解4.1、4.2中配置的含义。
1. -s4 : 表示缩进4个空格,默认配置;
2. -S: 表示switch中case语句的缩进。
3. -N: 表示命名空间namespace内的缩进;
4. -U: 表示括号内的两头的參数和括号之间不留空格;
5. -H: 表示”if”、”for”、”while”等keyword右边添加一个空格。
6. -k1: *和&在表示指针和引用类型时,和类型名称并紧。和变量名之间留空格;
7. -p: 在运算符号(操作符)左右加上空格;
8. -P: 在括号两边插入空格;-d仅仅在括号外面插入空格。-D仅仅在里面插入;
9. -j: 给每一个”if”、”for”、“while”添加大括号;
10. -D: 在小括号边上添加一个空格;
11. -c: 将TAB替换成空格;
12. -M: 对定义的參数和变量进行对齐;
13. -w: 对宏进行对齐处理;
14. --style=ansi: ANSI标准的文件格式。对”{”、”}”另启一行。
15. --indent=spaces=4: 缩进採用4个空格;
16. --add-brackets: 对”if”、”for”、“while”单行的语句添加括号;
17. --convert-tabs: 强制转换TAB为空格。
18. --indent-preprocessor: 将preprocessor(#define)等这类提前定义的语句。假设有多行时前面填充对齐(是对单语句多行进行填充)。
19. --align-pointer=type: *、&这类字符靠近类型;
20. --align-pointer=name: *、&这类字符靠近变量名字;
21. --pad-oper: 在操作符号两边添加空格字符;
22. --pad--header: 在keyword”if”、”for”、”while”等后面添加空格。
23. --indent-switches: switch case的代码也依照标准缩进方式缩进。
24. --indent-col1-comments: 假设函数開始后面(“{”后面)第一行是凝视,也进行缩进。
25. --indent=tab: 显示说明使用Tab。