打印
[MM32生态]

Keil开发环境下添加AStyle插件对C代码进行格式化处理

[复制链接]
817|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mikewalpole|  楼主 | 2023-10-29 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面两个简单的程序哪个更规范、可读性更高呢?


显然是右侧的,合理缩进、美观、可读性高,是规范的代码风格。当我们使用Kei编写程序时,往往不注意代码的风格,那么有没有一种工具能让代码自动调整为标准格式呢?答案是肯定的,那就是Astyle插件,





关于AStyle
AStyle 是Artistic Style的简称,是一个开源的源代码格式化工具,可以对C,C++,C#以及Java等编程语言的源代码进行缩进、格式化、美化,该插件基于 Artistic Style 开发,可在 Eclipse CDT 环境中使用。
准备:
AStyle_2.02.1_windows.zip
Keil软件
备用下载链接:http://pan.baidu.com/s/1i4UxOod密码: fjyz
一、将AStyle_2.02.1_windows.zip解压到Keil安装目录下。


二、打开Keil 软件,选择Tools菜单下的Customize Tools Menu选项。

三、参考Keil µVision4 User's Guide进行设置


四、新建插件,命名AStyle Current File(可以任意名字),
Command:输入AStyle.exe文件的路径,或点击到Keil\AStyle\bin目录下选择AStyle.exe。
Arguments:输入-p !E,其中!E表示将当前代码格式化,-p 表示在操作符两边添加空格,注意-p与!E之间有个空格,p为小写字母。


五、插件安装好了,应该怎么使用呢?
程序编写完成后,单击Tools菜单下的AStyle Current File



Build Output 窗口显示已经格式化当前C文件,运行后,文件就是标准的C代码格式了,是不是很神奇呢?



六、插件添加成功后,还可以为这个插件自定义的一个快捷键,以方便我们的操作:
1.选择Edit菜单下的Configuration选项。


2.选择ShortcutKeys选项卡下的Tools:AStyleCurrent File 点击Create Shortcut。


3.在弹出的窗口,按下要设置的快捷键,笔者是设置为Ctrl+Shift+A,点击OK确定。


4.这样格式化文件的快捷键就设置好了,快试试好不好用吧!是不是比用鼠标更方便了呢!



设置的默认格式为ANSI格式,另外还可以设置为其他的代码格式,如kr或linux或gnu等其他格式,只需要Argument项命令符前面加上:--style= 某格式
如设置为kr代码格式:
Argument:--style=kr-p !E

下图是kr格式和ansi格式,可以看出两种格式非常接近。

附录:
AStyle常用命令符:
(1)-f
在两行不相关的代码之间插入空行,如import和public class之间、public class和成员之间等;
(2)-p
在操作符两边插入空格,如=、+、-等。
如:inta=10*60;
处理后变成int a = 10 * 60;
(3)-P
在括号两边插入空格。另,-d只在括号外面插入空格,-D只在里面插入。
如:MessageBox.Show("aaa");
处理后变成MessageBox.Show ( "aaa" );
(4)-U
移除括号两边不必要的空格。
如:MessageBox.Show( "aaa" );
处理后变成MessageBox.Show ("aaa");
(5)-V
将Tab替换为空格。

使用特权

评论回复
沙发
MessageRing| | 2023-10-30 12:07 | 只看该作者
MDK还可以装插件啊?

使用特权

评论回复
板凳
tpgf| | 2023-11-3 15:19 | 只看该作者
不添加插件的话keil没有这个功能吗

使用特权

评论回复
地板
gwsan| | 2023-11-3 16:02 | 只看该作者
其实代码写习惯了自己就自然的知道要缩进了

使用特权

评论回复
5
tfqi| | 2023-11-3 19:12 | 只看该作者
这个插件是第三方插件吗?还是官方的啊?

使用特权

评论回复
6
zljiu| | 2023-11-3 19:44 | 只看该作者
还有其他插件可以实现这个功能吗

使用特权

评论回复
7
aoyi| | 2023-11-3 20:02 | 只看该作者
这个插件是免费使用还是付费使用的呢

使用特权

评论回复
8
nawu| | 2023-11-3 20:33 | 只看该作者
没有用过keil  但是我知道iar本身应该就有这个功能

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

1172

帖子

0

粉丝