1 Astyle介绍 Astyle全称Artistic Style,是一个免费,快速,小型的自动格式化程序,适用于C,C++,C++/CLI,Objective‑C,C#和Java源代码。 在缩进源代码时,作为程序员,我们倾向于同时使用空格和制表符来创建所需的缩进。此外,默认情况下,某些编辑器在按 Tab 键时会插入空格而不是制表符。其他编辑器(例如Emacs)能够通过自动设置行上代码之前的空格来"漂亮地"行,可能在代码中插入空格,到目前为止,这些代码仅使用制表符进行缩进。 源代码中每个制表符的空格数可以在编辑器之间更改(除非用户根据自己的喜好设置数字...)。程序员在从一个编辑器移动到另一个编辑器时面临的一个标准问题是,包含空格和制表符的代码(完全缩进)突然变得一团糟。即使您作为程序员只注意使用空格或制表符,查看其他人的源代码仍然会有问题。 为了解决这个问题,创建了Art Style——一个用C++编写的过滤器,可以自动重新缩进和重新格式化C / C++ / Objective-C / C++ / CLI / C# / Java源文件。它可以从命令行使用,也可以作为库合并到另一个程序中。 官网地址:http://astyle.sourceforge.net/
下载地址: https://sourceforge.net/projects/astyle/2 Astyle初体验 直观一点,我们来看看下面没有经过Astyle格式化的代码:
接下来我们用Astyle插件给它格式化看一下:
很明显,第一种代码风格要是每次参考别人的代码看到的是这样的,那基本连继续看下去的心情都没有了,果断右键回收站,第二种代码风格,看起来就舒服多了。 也就是说,以后但凡看别人的代码,第一件事先用Astyle插件把代码风格格式化一下,变成合适自己的那种风格,也有利于提高自己的学习和工作效率;一个好的程序,不仅要有好的算法,同时也需要有良好的书写风格。3 Astyle插件在Keil工程中的适配 这里我使用的的Keil软件版本是:V5.29.0.0
3.1 keil5配置用户自定义插件选择Customize Tools Menu。
3.2 添加用户自定义命令并配置参数其中Menu Content就是自定义的用户命令,名称可以自己写,接下来看看我做的两个用户命令。
用户命令:格式化工程参数配置:(这个是自己参考别人的方法配置的)-n "$E*.c" "$E*.h" --style=ansi -p -s4 -S -f -xW -w -xw -R
用户命令:格式化当前文件参数配置:(这个是自己参考别人的方法配置的)-n !E --style=ansi -p -s4 -S -f -xW -w -xw 注:!E表示的是当前获得焦点且正在编辑的文件。 $E*.c和$E*.h代表当前获得焦点且正在编辑文件所在目录下所有.c和.h文件(参考keil uVision的帮助文档)使用的是Astyle默认格式来格式化文件,另外也可以自定义格式,自定义格式参考Astyle官网的帮助文档。
3.3 选择命令对.c 或 .h开始格式化处理然后点击自己配置的用户命令即可完成代码格式化,其它的风格详情查看官网的开发文档学习。