我是靠谱客的博主 直率薯片,最近开发中收集的这篇文章主要介绍java用allman风格_(转)Keil代码格式化工具_Astyle,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

0.jpg

在用Keil5编写程序的时候,很多情况要参考别人写的程序来完成开发,在这过程中,看到了很多代码编写风格不一、代码编写不规范的情况。有时候看的头都大了,在一次偶然的情况下,认识了 Astyle 这一代码格式工具,就根据帖子上的教程配置在了 Keil 上,后面在使用的过程中,发现这款插件的高效性,所以特意拿出来分享

二、Astyle

2.1 Astyle 官网

2.2 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 等编程语言的免费、快速和小型自动格式化软件。

2.3 Astyle 下载

进入官网,在官网下方点击 Download 进入下载页面.

1.png

下载页面直接下载最新版本即可.

2.png

等待弹出下载后保存到你的电脑.

3.png

2.4 Astyle 保存

Astyle 下载完后,根据自己的需求和方便,解压并保存好就可以了。这里我是直接丢在了 keil5 的根目录下。

三、Keil5 增加 Astyle 插件

3.1 Keil5 使用 Astyle 效果

使用前:

4.png

使用后:

5.png

3.2 Keil5 配置 Astyle

打开 Keil5 ,然后在菜单栏中找到 Tools-Customize Tools Menu…

6.png

打开后,增加两个内容,分别命名为:

Astyle All Files

Astyle Current File

命名可以自己需求,不一定和我一样。

然后位置都选择你解压 Astyle 文件中 bin 文件夹下的 Astyle.exe

在 Arguments 参数中对应填入:

Astyle All Files

-n "$E.c" "$E.h"

Astyle Current File

-n !E

如图:

7.png

8.png

设置好后我们点 OK 应用。

3.3 Keil5 使用 Astyle 格式代码

配置好后,我们可以在Tools-Customize Tools Menu...中看到我们新增加的两个自定义工具。

9.png

格式化整个工程的 .c 与 .h 文件就选择 Astyle All Files。

格式化当前文件则选择 Astyle Current File.

格式化可以在 keil 的输出窗口看到格式情况。

10.png

3.4 关于配置参数上的解释

我们在 keil5 中填入了两行参数值:

Astyle All Files

-n "$E.c" "$E.h"

Astyle Current File

-n !E

-n,格式化文件时,新的缩进的文件将保留原始文件,创建原始文件的副本,并在原始文件名后附加 .orig ,可以通过 -n 来取消设置备份副本。

11.png

"$E.c" "$E.h",$E是 Keil 的指令,表示工程内的全部文件,加上 .c 与 .h ,表示工程内 .c 文件与 .h 文件,Astyle 也会只格式化工程里的全部的 .c 与 .h 文件。

!E,!E 是 Keil 的指令,表示当前文件, Astyle 在操作时就只格式化当前的文件。

四、Astyle 的其他配置

4.1 括号格式化风格

12.png

具体的可以参照 Astyle文档,不过多叙述。

4.1.1 allman 风格

--style=allman / --style=bsd / --style=break / -A1

Allman style uses broken braces.1

2

3

4

5

6

7

8

9

10int (bool isBar)

{

if (isBar)

{

bar();

return 1;

}

else

return 0;

}

4.1.2 java 风格

--style=java / --style=attach / -A2

Java style uses attached braces.1

2

3

4

5

6

7int (bool isBar){

if (isBar) {

bar();

return 1;

} else

return 0;

}

4.1.3 kr 风格

--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.1

2

3

4

5

6

7

8int Foo(bool isBar)

{

if (isBar) {

bar();

return 1;

} else

return 0;

}

4.1.4 其他

还有很多的风格,可以在对应的文档看,总共有15种风格任君挑选,如 python、google、linux 风格等。

因为我用 Keil 开发是 C 语言,所有我选了 A1 的风格,所以相应的在 Keil 上我就配置了:

-n -A1 "$E.c" "$E.h"

不生成副本,用 A1 风格,来格式化整个工程的 .c 与 .h 文件。

4.2 格式化缩进长度

4.2.1 空格缩进

这里我就不在截图了,具体的可以看文档,默认我们不配置缩进选项的话,默认是4个空格,如果你想要更改缩进的空格长度,你可以通过:

--indent=spaces / --indent=spaces=# / -s#

-s4,就是缩进 4 个空格,那么相应的,要改缩进 x 个空格就更改 -sx 就可以了.

4.2.2 制表符缩进

同上,

--indent=tab / --indent=tab=# / -t / -t#

-t4,就是缩进 4 个制表符,那么相应的,要改缩进 x 个制表符就更改-tx就可以了。

4.2.3 其他

还有另外两种缩进方式,我觉得很少使用,就不列举了,有兴趣了解同样的访问官方文档即可。

4.3 其他

还有许多格式化的形式,我也不多加叙述,例如缩进’switch’块、’case’块、注释、’class’和’struct’块、预处理程序缩进等许许多多的格式化方式,官方文档列举的说明十分详细,针对自己需要的、想要的格式化需求,针对性的在文档中寻找并利用,制作一个自己的高效率工具。

五、个人心得(非转)

注意格式化之前需要保存,否则不会进行格式化;Astyle Current File是格式化当前文件,Astyle All File不是格式化整一个工程,而是格式化当前文件所在的文件夹中所有.c和.h文件;倘如你写的驱动或者实现功能.c文件是封装成独立文件夹时,需要多次单独处理。

给两个处理模板:Astyle Current File:-n !E –style=ansi -s4 -K -W -p -H -xC80 -S -m0 -M40 -c

Astyle All File:-n ”$E.c” “$E.h” –style=ansi -s4 -K -W -p -H -xC80 -S -m0 -c

本文转自来源:贴吧偶遇,分享博客制作心得的路人,Keil5代码格式化工具

最后

以上就是直率薯片为你收集整理的java用allman风格_(转)Keil代码格式化工具_Astyle的全部内容,希望文章能够帮你解决java用allman风格_(转)Keil代码格式化工具_Astyle所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部