前言

使用 keil(MDK) 的代码编辑器编辑时,每次都是手动调整格式,这样既麻烦又容易格式不统一,实在不能忍受,所以我们就介绍一个叫做 Astyle 的神奇工具,它可以方便的将程序代码格式化成自己想要的样式而不必人工修改。

Astyle 简介

Astyle 即Artistic Style,是一个可用于C, C++, C++/CLI, Objective‑C, C# 和Java编程语言格式化和美化的开源工具。我们在使用编辑器的缩进(TAB)功能时,由于不同编辑器的差别,有的插入的是制表符,有的是2个空格,有的是4个空格。这样如果别人用另一个编辑器来阅读程序时,可能会由于缩进的不同,导致阅读效果一团糟。为了解决这个问题,使用C++开发了一个插件,它可以自动重新缩进,并手动指定空格的数量,自动格式化源文件。它是可以通过命令行使用,也可以作为插件,在其他IDE中使用。你可以在项目地址下载可执行文件,也可以下载源码执行编译成可执行文件。

在keil(MDK)中以插件的形式加载 Astyle

  1. Astyle官网 下载最新编译好的Astyle(以 AStyle_3.1_windows.zip 为例)。
  2. 下载完成后,解压到一个常用目录下,例如:

D:\Program Files (x86)\AStyle

  1. 打开 keil(MDK) ,选择 Tools->Customize Tools Menu,自定义外部工具菜单
  2. 点击新建按钮,输入工具名称:Astyle Current File,
    Command命令选项,指定AStyle.exe的路径(例如: D:\Program Files (x86)\AStyle\bin\AStyle.exe),
    Argument选项输入以下参数:

-pnUk1s4 --style=ansi !E

PS:注意大小写,建议复制粘贴,不会出错。
配置插件
5. 无论你的代码写的有多乱,只要点击 Tools->Astyle Current File 工具,你就会发现代码一下子变得美观了许多,快来试试吧!
代码格式化前后对比

AStyle插件参数详解

AStyle插件的参数实在太多了,这里只介绍我们上面那个命令中用到的参数。

-pnUk1s4 !E --style=ansi

命令参数详解:

参数名大小写说明
p小写只在操作符两边加空格
P大写在操作符和括号两边都加空格
n小写不备份格式化之前的文件,后缀为.orig,默认备份
U大写移除括号两边不必要的空格
d小写只在括号外面插入空格
D大写只在括号里面插入空格
k1命令指针或引用运算符*/&/^号靠近类型名
k2命令指针或引用运算符*/&/^号在类型名和变量名中间
k3命令指针或引用运算符*/&/^号靠近变量名
s4命令TAB键替换为4个空格
xC80命令一行最大字符数,超过后会在运算符处换行
H大写在关键字’if’,‘for’, 'while’之后添加空格
S大写switch 与case不同列,case缩进
K大写缩进case下面的语句
F大写空行分隔无关块
x小写删除多余空行
–style=ansi命令指定程序风格,如kr/linu/gnu等等

更多、更详细的参数说明可以查看自带的帮助文档。

定义一个快捷键来执行代码的快速格式化

为了更方便,我们还可以自定义一个快捷键,来执行这个命令。点击工具栏最右边的配置图标,切换到Shortcut Keys选项,选择Tools:Astyle Current File,点击Create Shortcut创建新的快捷键,在弹出的窗口按下你要设置的快捷键,然后保存退出就可以了,下次需要使用的时候,只要按下相对应的快捷键,就可以一键将当前文件格式化。
快捷键创建

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐