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

关于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;
 }
}
原文地址:https://www.cnblogs.com/xidongs/p/5642943.html