当前位置: 首页 > 工具软件 > Astyle > 使用案例 >

astyle格式化工具

田博远
2023-12-01

        astyle是一个用来对C/C++代码进行格式化的 Eclipse 插件,可在 Eclipse CDT 环境中使用。该插件基于 Artistic Style 开发。可嵌入MDK,Source Insight,UE等软件使用。在ubuntu环境中,可以直接通过命令行来使用。

1、安装命令

         sudo apt-get install astyle

2、命令语法

          astyle [OPTIONS] File1 File2 File3 [...]
          astyle [OPTIONS] < Original > Beautified

例如:

          astyle --style=ansi main.c

3、命令符

(1) -f

        在两行不相关的代码之间插入空行。

(2) -p

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

        如:int a=10*60;

        处理后变成int a = 10 * 60;

(3) -P

        在括号两边插入空格。另,-d只在括号外面插入空格,-D只在里面插入。

        如:input_data ("aaa");

        处理后变成input_data ( "aaa" );

(4) -U

        移除括号两边不必要的空格。

        如:input_data ( "aaa" );

        处理后变成input_data ("aaa");

(5) -V

        将Tab替换为空格。

4、常用功能

(1) 单个文件--缺省美化

        astyle --style=ansi Form1.cs

(2) 单个文件--更改缩进2个空格

         astyle --style=ansi --indent=spaces=2 Form1.cs

         缺省缩进一个TAB,也可以显式说明使用Tab,如下:

        astyle --style=ansi --indent=tab Form1.cs 

(3) 处理多个文件--有限个

        astyle --style=ansi Form1.cs Form2.cs

(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"

5、预定风格

astyle包含了以下几种预定义风格,只需在参数中简单指定即可使用:

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

int main()
{
    int flag = 0;

    printf("hello world\n");
    if(flag == 1)
    {
        printf("true\n");
    }
    else
    {
        printf("false\n");
    }
}

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

int main()
{
    int flag = 0;

    printf("hello world\n");
    if(flag == 1) {
        printf("true\n");
    } else {
        printf("false\n");
    }
}

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

int main()
{
    int flag = 0;

    printf("hello world\n");
    if(flag == 1) {
        printf("true\n");
    } else {
        printf("false\n");
    }
}

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

int main()
{
    int flag = 0;

    printf("hello world\n");
    if(flag == 1)
        {
            printf("true\n");
        }
    else
        {
            printf("false\n");
        }
}

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

int main() {
    int flag = 0;

    printf("hello world\n");
    if(flag == 1) {
        printf("true\n");
    } else {
        printf("false\n");
    }
}

 类似资料: