个人博客
所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 nixgnauhcuy’s blog!
如需转载,请标明出处!
在用 Keil5 编写程序的时候,很多情况要参考别人写的程序来完成开发,在这过程中,看到了很多代码编写风格不一、代码编写不规范的情况。有时候看的头都大了,在一次偶然的情况下,认识了 Astyle 这一代码格式工具,就根据帖子上的教程配置在了 Keil 上,后面在使用的过程中,发现这款插件的高效性,所以特意拿出来分享。
Astyle 网站:/
我直接搬 Astyle 网站两句话来介绍,网站的介绍已经十分详细了,文档等信息都可以在网站上获取到。
Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, Objective-C, C# and Java programming languages.
Artistic Style 是 C, C++, C++/CLI, Objective-C, C# 和 Java 等编程语言的代码缩进器、格式化器和美化器。
Artistic Style 是适用 C, C++, C++/CLI, Objective-C, C# 和 Java 等编程语言的免费、快速和小型自动格式化软件。
进入官网,在官网下方点击 Download 进入下载页面.
下载页面直接下载最新版本即可.
Astyle 下载完后,根据自己的需求和方便,解压并保存好就可以了。这里我是直接丢在了 keil 的根目录下。
使用前:
使用后:
打开 Keil ,然后在菜单栏中找到 Tools-Customize Tools Menu…
打开后,增加两个内容,分别命名为:
Astyle All Files
Astyle Current File
命名可以自己需求,不一定和我一样。
然后位置都选择你解压 Astyle 文件中 bin 文件夹下的 < ,在 Arguments 参数中对应填入:
Astyle All Files
-n "$E*.c" "$E*.h"
Astyle Current File
-n !E
如图:
设置好后我们点 OK 应用。
配置好后,我们可以在 Tools-Customize Tools Menu… 中看到我们新增加的两个自定义工具。
格式化正在编辑的文件所在目录下所有的 .c 与 .h 文件就选择 Astyle All Files。
格式化正在编辑的文件则选择 Astyle Current File.
格式化可以在 keil 的输出窗口看到格式情况。
我们在 keil 中填入了两行参数值:
Astyle All Files
-n "$E*.c" "$E*.h"
Astyle Current File
-n !E
-n
,格式化文件时,新的缩进的文件将保留原始文件,创建原始文件的副本,并在原始文件名后附加 .orig ,可以通过 -n 来取消设置备份副本。
"$E*.c" "$E*.h"
,$E 是 Keil 的指令,表示当前文件所在目录内的全部文件,加上 *.c 与 *.h ,表示当前文件所在目录内 .c 文件与 .h 文件,Astyle 也会只格式化当前文件所在目录内的全部的 .c 与 .h 文件。
!E
,!E 是 Keil 的指令,表示当前文件,Astyle 在操作时就只格式化当前正在编辑的文件。
具体的可以参照 Astyle 文档 , 不过多叙述。
–style=allman / --style=bsd / --style=break / -A1
Allman style uses broken braces.
int Foo(bool isBar)
{if (isBar){bar();return 1;}elsereturn 0;
}
–style=java / --style=attach / -A2
Java style uses attached braces.
int Foo(bool isBar) {if (isBar) {bar();return 1;} elsereturn 0;
}
–style=kr / --style=k&r / --style=k/r / -A3
Kernighan & Ritchie style uses linux braces. Opening braces are broken from namespaces, classes, and function definitions. The braces are attached to everything else, including arrays, structs, enums, and statements within a function.
Using the k&r option may cause problems because of the &. This can be resolved by enclosing the k&r in quotes (e.g. --style=“k&r”) or by using one of the alternates --style=kr or --style=k/r.
int Foo(bool isBar)
{if (isBar) {bar();return 1;} elsereturn 0;
}
还有很多的风格,可以在对应的文档看,总共有15种风格任君挑选,如 python、google、linux 风格等。
因为我用 Keil 开发是 C 语言,所有我选了 A1 的风格,所以相应的在 Keil 上我就配置了:
-n -A1 "$E*.c" "$E*.h"
不生成副本,用 A1 风格,来格式化 .c 与 .h 文件。
这里我就不在截图了,具体的可以看文档,默认我们不配置缩进选项的话,默认是 4 个空格,如果你想要更改缩进的空格长度,你可以通过:
–indent=spaces / --indent=spaces=# / -s#
-s4,就是缩进 4 个空格,那么相应的,要改缩进 x 个空格就更改
-sx
就可以了.
同上,
–indent=tab / --indent=tab=# / -t / -t#
-t4,就是缩进 4 个制表符,那么相应的,要改缩进 x 个制表符就更改
-tx
就可以了。
还有另外两种缩进方式,我觉得很少使用,就不列举了,有兴趣了解可以访问官方文档。
还有许多格式化的形式,我也不多加叙述,例如缩进’switch’块、'case’块、注释、'class’和’struct’块、预处理程序缩进等许许多多的格式化方式,官方文档列举的说明十分详细,针对自己需要的、想要的格式化需求,针对性的在文档中寻找并利用,制作一个自己的高效率工具。
keil5 的安装及破解
keil 软件配置
本文发布于:2024-02-03 04:12:14,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170690473548571.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |