您的位置:首页 > 运维架构 > Linux

astyle linux美化代码

2016-11-29 15:36 246 查看
      还为自己写的代码难看而发愁吗,还在一行一行美化代码吗。astyle强势来袭,解放你的双手,释放你的思维。

         astyle是一个开源工具,它可以方便的将程序代码格式化成自己想要的样式而不必人工修改。本来嘛,作为高等生物应该优先去做一些智慧的事情,而不是把时间消耗在机器可以完美完成的事情上。可以到网站(http://astyle.sourceforge.net/)上下载源码自己编译,也可以使用指令(apt-getinstall
astyle)安装。

     astyle是一个命令行工具,命令语法很简单:

         astyle [options] < original > Beautified

         astyle [options] Foo.cpp Bar.cpp [...]

例如:

         astyle --style=ansi main.c

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

namespace foospace

{

 int Foo()

 {

  if (isBar)

  {

   bar();

   return 1;

  }

  else

   return 0;

 }

}

   

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

 int Foo() {

  if (isBar) {

   bar();

   return 1;

  } else

   return 0;

 }

}

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

{

 int Foo()

 {

  if (isBar) {

   bar();

   return 1;

  } else 

   return 0;

 }

}

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

namespacefoospace

{

 int Foo()

 {

  if (isBar)

  {

   bar();

   return 1;

  }

  else

   return 0;

 }

}

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

 int Foo() {

  if (isBar) {

   bar();

   return 1;

  } else

   return 0;

 }

}

   astyle默认使用spec来缩进,如果想使用tab缩进,可一加-t 或者-t*(*代表一个tab占用几个bit)或者--inden=tab或--inden=tab=*(默认tab为4个bit)

美化有限个文件还可以使用

astyle --style=ansi main.c main1.c main2.c

(4) 批量处理多个文件--无限个

for /R .\ %f in (*.cs) do astyle --style=ansi "%f"

说明:/R表明遍历一个目录树,后面紧跟的路径是根,缺省为当前目录。

本例中,根为.\表示当前目录,命令等价于:

for /R %f in (*.cs) do astyle --style=ansi "%f"

作用是从(目录树根)当前目录开始,查找所有java文件,包含子目录中的文件;然后交给astyle处理。

当然,目录树根也可以使用绝对路径,下面的命令查找C盘所有的java文件并处理。

for /R c:\ %f in (*.cs) do astyle --style=ansi "%f"

(这个我试总是出error)

2. 其他比较有用的开关:

(1) -f

在两行不相关的代码之间插入空行,如import和public class之间、publicclass和成员之间等;

(2) -p

在操作符两边插入空格,如=、+、-等。

如:int a=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替换为空格。 

下面再介绍第二项独门绝技:批量格式化!

有时候你会有很多文件需要格式化成统一风格,难道一个个点击菜单?不!那样太累了。

在Windows中,我们可以用命令行来解决问题。这里用到一个超级命令 for

我来写个范例,大家就知道该怎么处理了。

      for/R %f in (*.cpp;*.c;*.h) do astyle --style=ansi"%f"

该命令在当前目录中寻找文件名匹配模式 *.cpp;*.c;*.h的所有文件(不同模式可用英文逗号隔开),并且对每个文件%f执行操作:

       astyle--style=ansi "%f"

好了,本教程可以结束了。希望对你有所帮助。

原文:http://www.cppblog.com/jokes000/articles/158838.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: