您的位置:首页 > 编程语言

keil中使用Astyle格式化你的代码的方法2篇合

2017-09-11 19:45 281 查看
关于Astyle

Astyle 的全称是Artistic Style的简称,是一个开源的源代码格式化工具,可以对C,C++,C#以及Java等编程语言的源代码进行缩进、格式化、美化。

Home Page: http://astyle.sourceforge.net/

Project Page: http://sourceforge.net/projects/astyle/

在Keil μVision中集成Astyle(以Keil μVison4为例)

①下载Astyle,解压到任意位置(Astyle为绿色软件)(Win2.02.1版,可以到官网参看最新版)

千易下载:http://1000eb.com/aguv

博客下载:http://files.cnblogs.com/totop/AStyle_2.02.1_windows.zip

②µVision4中单击Tools菜单---Customize Tools Menu



③添加Astyle All Files 和Astyle Current File菜单(自定义菜单名,可以使用中文)

这里添加了两个菜单,分别是格式化当前文件和格式化project中的所有文件。



④添加Command命令:单击...按钮,在Astyle的安装目录中选择Astyle.exe。

⑤Arguments:

Astyle Current File菜单填写 !E

当前文件

Astyle All Files菜单填写 "$E*.c" "$E*.h"

当前文件所在文件夹中的所有.c 和.h文件

⑥实际使用效果如下:



转自:http://www.cnblogs.com/totop/archive/2012/07/04/keil-astyle.html
http://bbs.mydigit.cn/read.php?tid=410700
一个好的程序,不仅要有好的算法,同时也需要有良好的书写风格。写出好的算法不容易,但是好的代码风格却并不困难。提到格式化代码,Astyle是一个不能错过的工具,它可以方便的将程序代码格式化成自己想要的样式而不必人工修改,并且它是绿色、免费、开源。关于Astyle的介绍帮助及下载,请参考其官方网站:http://astyle.sourceforge.net/



 
       下面介绍在Keil uVision4 中添加Astyle的方法,上午参考keil的帮助手册,实现了在Keil中很方便的使用Astyle的方法,和大家分享下,如果大家有更好的格式化代码的方法,请大家不要吝惜你的玉,我在这就先抛砖了。

添加Astyle菜单的方法:
1:uVision4中单击Tools菜单---Customize Tools Menu



2:添加Astyle All Files 和Astyle Current File菜单(自定义菜单名,可以使用中文)
我在这里添加了两个菜单,分别是格式化当前文件和格式化project中的所有文件。
3:添加Command命令:单击...按钮,选择Astyle.exe。

4:Arguments:
Astyle Current File菜单填写  !E
Astyle All Files菜单填写  "$E*.c" "$E*.h"



注:!E 表示的是当前获得焦点且正在编辑的文件。

    $E*.c和$E*.h代表当前获得焦点且正在编辑文件所在目录下所有.c和.h文件(参考keil uVision的帮助文档)    

    使用的是Astyle默认格式来格式化文件,另外也可以自定义格式,自定义格式参考Astyle的帮助文档。默认格式化后,会备份原文件为 源文件名.orig。如果不想让Astyle备份文件,可以使用-n参数。 如:-n !E (表示格式化当前文件,不备份)
 
在keil中的使用效果:生成的菜单出现在Tools的下拉菜单中,Astyle的运行结构出现在keil的Build Output窗口中。 

格式化当前文件的结果:



格式化所有文件的结果:



默认会生成备份文件



参考的帮助有:Astyle 帮助和 Keil uVision4的帮助。



//----------------------------------------------

-style=ansi:ANSI 风格格式和缩进

namespace foospace

{

 int Foo()

 {

  if (isBar)

  {

   bar();

   return 1;

  }

  else

   return 0;

 }

}

--style=kr :Kernighan&Ritchie 风格格式和缩进

namespace foospace {

 int Foo() {

  if (isBar) {

   bar();

   return 1;

  } else

   return 0;

 }

}

  --style=linux :Linux 风格格式和缩进

namespace foospace

{

 int Foo()

 {

  if (isBar) {

   bar();

   return 1;

  } else 

   return 0;

 }

}

  --style=gnu :GNU 风格格式和缩进

namespace foospace

{

 int Foo()

 {

  if (isBar)

  {

   bar();

   return 1;

  }

  else

   return 0;

 }

}

  --style=java :Java 风格格式和缩进

class foospace {

 int Foo() {

  if (isBar) {

   bar();

   return 1;

  } else

   return 0;

 }

}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: