介绍一个 C/C++ 、C#、JAVA 代码美化工具

给大伙介绍一个开源工具 AStyle,支持C/C++、C#、JAVA等语言,按照不同的风格格式化代码,也可以称为美化代码。
用这个工具美化出来的代码与我自已的风格几乎一样,我很喜欢这个小工具,也可以很方便的集成到VS里面去。

用法:

AStyle.exe --style=ansi --indent=spaces=4 -M80 -k1 -p -j -D -H -c -w test.cpp

--style=ansi ansi C风格代码 我个人喜欢用这个风格

void Foo(bool isFoo)
{
    if (isFoo)
    {
        bar();
    }
    else
    {
        anotherBar();
    }
}

--indent=spaces=4 缩进用4个空格

 

-p  在运算符号左右加上空格

if (foo==2)
    a=bar((b-c)*a,d--);
becomes:

if (foo == 2)
     a = bar((b - c) * a, d--);
 

-j   给每个if增加大括号

if (isFoo)
    isFoo = false;
becomes:

if (isFoo) {
    isFoo = false;
}
 

-D  在小括号边上增加上一个空格

if (isFoo(a, b))
    bar(a, b);
becomes:

if ( isFoo( a, b ) )
    bar( a, b );

-H 在c/c++ 关键字的后面增加一个空格

if(isFoo(a, b))
    bar(a, b);

becomes:

if (isFoo(a, b))
    bar(a, b);

 -c

把TAB字符替换成空格为什么要把TAB替换成空格?主要是因为各种不同的编辑器对TAB的解释不一样造成的。

有的编辑器把TAB解释成4个空格,有的是8个,还有的是2个。这样会破坏原有的代码的对齐的结构,

因此最好把TAB替换成空格,这样不管在任何编辑器下面代码都是以对齐的风格来显示。

-k1 --align-pointer=type

char *foo1;
char &foo2;

becomes (with align-pointer=type):

char* foo1;
char& foo2;

-M# 对定义的参数和变量进行对齐

fooArray[] = { red,
         green,
         blue };

fooFunction(barArg1,
         barArg2,
         barArg3);
becomes (with larger value):

fooArray[] = { red,
               green,
               blue };

fooFunction(barArg1,
            barArg2,
            barArg3);

-w  对宏进行对齐处理

#define Is_Bar(arg,a,b) \
(Is_Foo((arg), (a)) \
|| Is_Foo((arg), (b)))
becomes:

#define Is_Bar(arg,a,b) \
    (Is_Foo((arg), (a)) \
     || Is_Foo((arg), (b)))

 

看到上面这么多的美化代码的参数,真的很hi。

 

AStyle.exe --style=ansi --indent=spaces=4 -M80 -k1 -p -j -D -H -c -w $(ItemFileName)$(ItemExt)
这个参数是我自已用的,大伙可以根据自已的风格来设定。

 

如果集成到VS当中呢?

1. 把AStyle.exe 拷到 “C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\”目录下


2. Tools –> External Tools


如图增加一个外部工具配置

介绍一个 C/C++ 、C#、JAVA 代码美化工具_第1张图片

 

在Tools菜单下面会多出一个Beautify点击它就可以来美化当前的文件 如下图:

 

介绍一个 C/C++ 、C#、JAVA 代码美化工具_第2张图片

 

总体来说这个工具美化的效果还是很不错的,喜欢的人大家都可以试试。

官方网站: http://astyle.sourceforge.net/

官方下载:http://nchc.dl.sourceforge.net/project/astyle/astyle/astyle%202.02/AStyle_2.02_windows.zip

作者: Russinovich`s Blog 发表于 2011-09-27 23:43 原文链接

评论: 5 查看评论 发表评论


最新新闻:
· Web领域急需一位引领者(2011-09-28 08:40)
· Apple需要一个真正意义上的社交网络(2011-09-28 08:39)
· 微软正式推送Windows Phone 7.5芒果(2011-09-28 08:34)
· Facebook 微创新了谁?- No3 Twitter(2011-09-28 08:22)
· Delicious 以全新姿态重生,基于网页链接的 Flipboard(2011-09-28 08:22)

编辑推荐:Web前端开发中的MCRV模式

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

你可能感兴趣的:(java,代码,化工)