Keil5使用探究:利用Astyle格式化Keil5代码

利用Astyle格式化Keil5代码

今天在编写程序时,发现很多空格之类的输入很麻烦,得小心的对齐,要不出来的效果很丑,而且检查代码会很费劲。大概是本人有强迫症吧,最后找到一个很好用的代码格式化插件,在这里大概记录一下流程,可以供大家参考,也方便我以后查看。

Astyle下载

首先,我们需要下载Astyle插件,其全名叫Artistic Style,网上可以搜索官网,然后下载。这是提供我当时下载时最后界面的网址:

https://sourceforge.net/projects/astyle/

也就是这个界面,直接点击下载就好了,也不需要安装,直接解压就好了(我下载当时安装keil的文件夹中了)。

Keil5使用探究:利用Astyle格式化Keil5代码

格式化的具体操作

下来我们打开Keil5,按照下面的流程操作:

  • 第一步
    Keil5使用探究:利用Astyle格式化Keil5代码
  • 第二步:添加下面两个项目(文件名称自己取,自己知道是什么就好了)
    Keil5使用探究:利用Astyle格式化Keil5代码
  • 第三步:在每个对应的项目下面添加如下字符串
    (1)“格式化当前文件”:当前文件,也就是光标目标在的.c或者.h文件。
填写内容
Command 填自己Astyle.exe的路径
Arguments栏 !E

(!E 表示的是当前获得焦点且正在编辑的文件。)
Keil5使用探究:利用Astyle格式化Keil5代码
(2)“格式化当前文件夹中所有文件”:当下光标所在的.c或者.h文件所在的文件夹中的所有.c和.h文件。

填写内容
Command 填自己Astyle.exe的路径
Arguments栏 Keil5使用探究:利用Astyle格式化Keil5代码

(由于那几个字符在这个表格里面显示不出来,所以我使用了截图)
Keil5使用探究:利用Astyle格式化Keil5代码

  • 第四步:最后点击OK就好了。
    Keil5使用探究:利用Astyle格式化Keil5代码
    这样就可以像其他编译器中的格式化一样操作了,不过是默认语言风格,当然也可以设置为别的风格,看自己喜好了。

注意:
在格式化当前文件夹中所有文件模块,我为什么提到当前文件所在文件夹中的所有.c和.h文件呢?
因为一开始很多人不注意,会以为格式化就是整个工程中的文件,事实上,我们写一个工程,会按照所使用的的设备和其他原因进行分类(具体体现在文件夹上面),比如:
Keil5使用探究:利用Astyle格式化Keil5代码
在这个工程底下,我建立了HARDWARE,OBJ,SYSTEM,USER文件夹,其中,HARDWARE是用来存储与外设相关操作的文件,比如,LED灯、按键等,各自又包括.c和.h文件。OBJ用来存放中间文件,一般使用到的也就是.hex文件,用来向开发板中烧录程序。SYSTEM用来存放启动文件,这是一段和硬件初始化相关的汇编程序。USER文件是存放用户写的主函数.c的文件。
所以通过这个例子,我们可以发现,一个工程,里面包含的文件夹不止一个,然而我们刚才建立的格式化是针对其中一个最底层的文件(即该文件夹中不再嵌套文件),不是格式化这个工程中的所有文件(见下图)。
Keil5使用探究:利用Astyle格式化Keil5代码
这么说可能有点抽象,不过可以自己操作一下,就会懂了。
做个展示,以led.h和key.h为例(两个分属不同的文件夹下),我将光标放在led.h下。
Keil5使用探究:利用Astyle格式化Keil5代码
Keil5使用探究:利用Astyle格式化Keil5代码
由于不在一个文件夹下,所以它并没有全部格式化。但是我觉得这个不影响使用,因为我们一般都是选用格式化当前文件,这样也避免了程序乱的很长久。

结果展示

  • 下面我们来放两张对比图,展示一下格式化的成果(以格式化当前文件为例)。
    Keil5使用探究:利用Astyle格式化Keil5代码
  • 下面我们再展示一下格式化当前文件夹下所有文件(以led.c和led.h为例,这两个文件在一个文件夹下)。
    Keil5使用探究:利用Astyle格式化Keil5代码