• Astyle 快速入门,常用指令


    --style=java -n -p -c !E

    astyle是一个命令行工具,命令语法很简单:
              astyle [options] < original > Beautified
              astyle [options] Foo.cpp Bar.cpp  [...]

    例如:

              astyle --style=ansi foo.cpp

    上面的命令将美化foo.cpp文件,更改其风格为ANSI,并将原始文件备份到foo.cpp.orgin。所以,你可以安全的使用该软件而不必担心会将代码改得无法回头。

    预定风格

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

      --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;
     }
    }

    1. 常用功能

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

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

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

    (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替换为空格。

    (6) -n
    不保存备份

    Artistic Style 1.15.3   (http://www.bigfoot.com/~davidsont/astyle)
                           (created by Tal Davidson,
    davidsont@bigfoot.com)

    Modified edition by Qiongzhu Wan, 2004.09

    Usage  :  astyle [options] < original > Beautified
              astyle [options] Foo.cpp Bar.cpp  [...]

    When indenting a specific file, the resulting indented file RETAINS the
    original file-name. The original pre-indented file is renamed, with a
    suffix of ".orig" added to the original filename.

    By default, astyle is set up to indent C/C++/C# files, with 4 spaces per
    indent, a maximal indentation of 40 spaces inside continuous statements,
    and NO formatting.

    Option's Format:
    ----------------
        Long options (starting with '--') must be written one at a time.
        Short options (starting with '-') may be appended together.
        Thus, -bps4 is the same as -b -p -s4.

    Predefined Styling options:
    --------------------
        --style=ansi
        ANSI style formatting/indenting.

        --style=kr
        Kernighan&Ritchie style formatting/indenting.

        --style=gnu
        GNU style formatting/indenting.

        --style=java
        Java mode, with standard java style formatting/indenting.

        --style=linux
        Linux mode (i.e. 8 spaces per indent, break definition-block
        brackets but attach command-block brackets.

    Indentation options:
    --------------------
        -c   or   --mode=c
        Indent a C, C++ or C# source file (default)

        -j   or   --mode=java
        Indent a Java(TM) source file

        -s   or   -s#   or   --indent=spaces=#
        Indent using # spaces per indent. Not specifying #
        will result in a default of 4 spacec per indent.

        -t   or   -t#   or   --indent=tab=#
        Indent using tab characters, assuming that each
        tab is # spaces long. Not specifying # will result
        in a default assumption of 4 spaces per tab.

        -T#   or   --force-indent=tab=#    Indent using tab characters, assuming tha
    t each
        tab is # spaces long. Force tabs to be used in areas
        Astyle would prefer to use spaces.

        -C   or   --indent-classes
        Indent 'class' blocks, so that the inner 'public:',
        'protected:' and 'private: headers are indented in
        relation to the class block.

        -S   or   --indent-switches
        Indent 'switch' blocks, so that the inner 'case XXX:'
        headers are indented in relation to the switch block.

        -K   or   --indent-cases
        Indent 'case XXX:' lines, so that they are flush with
        their bodies..

        -N   or   --indent-namespaces
        Indent the contents of namespace blocks.

        -B   or   --indent-brackets
        Add extra indentation to '{' and '}' block brackets.

        -G   or   --indent-blocks
        Add extra indentation entire blocks (including brackets).

        -L   or   --indent-labels
        Indent labels so that they appear one indent less than
        the current indentation level, rather than being
        flushed completely to the left (which is the default).

        -m#  or  --min-conditional-indent=#
        Indent a minimal # spaces in a continuous conditional
        belonging to a conditional header.

        -M#  or  --max-instatement-indent=#
        Indent a maximal # spaces in a continuous statement,
        relatively to the previous line.

        -E  or  --fill-empty-lines
        Fill empty lines with the white space of their
        previous lines.

        --indent-preprocessor
        Indent multi-line #define statements

    Formatting options:
    -------------------
        -b  or  --brackets=break
        Break brackets from pre-block code (i.e. ANSI C/C++ style).

        -a  or  --brackets=attach
        Attach brackets to pre-block code (i.e. Java/K&R style).

        -l  or  --brackets=linux
        Break definition-block brackets and attach command-block
        brackets.

        --brackets=break-closing-headers
        Break brackets before closing headers (e.g. 'else', 'catch', ..).
        Should be appended to --brackets=attach or --brackets=linux.

        -o   or  --one-line=keep-statements
        Don't break lines containing multiple statements into
        multiple single-statement lines.

        -O   or  --one-line=keep-blocks
        Don't break blocks residing completely on one line

        -p   or  --pad=oper
        Insert space paddings around operators only.

        --pad=paren
        Insert space paddings around parenthesies only.

        -P   or  --pad=all
        Insert space paddings around operators AND parenthesies.

        --convert-tabs
        Convert tabs to spaces.

        --break-blocks
        Insert empty lines around unrelated blocks, labels, classes, ...

        --break-blocks=all
        Like --break-blocks, except also insert empty lines
        around closing headers (e.g. 'else', 'catch', ...).

        --break-elseifs
        Break 'else if()' statements into two different lines.

    Other options:
    -------------
        --suffix=####
        Append the suffix #### instead of '.orig' to original filename.

        -X   or  --errors-to-standard-output
        Print errors and help information to standard-output rather than
        to standard-error.

        -v   or   --version
        Print version number

        -h   or   -?   or   --help
        Print this help message

    Default options file:
    ---------------------
        Artistic Style looks for a default options file in the
        following order:
        1. The contents of the ARTISTIC_STYLE_OPTIONS environment
           variable if it exists.
        2. The file called .astylerc in the directory pointed to by the
           HOME environment variable ( i.e. $HOME/.astylerc ).
        3. The file called .astylerc in the directory pointed to by the
           HOMEPATH environment variable ( i.e. %HOMEPATH%/.astylerc ).
        If a default options file is found, the options in this file
        will be parsed BEFORE the command-line options.
        Options within the default option file may be written without
        the preliminary '-' or '--'.

  • 相关阅读:
    log4j的基本配置参数
    插入透明背景Flash的HTML代码
    oracle获取字符串长度函数length()和hengthb()
    HSQLDB安装与使用
    linux下完全删除Oracle
    SQL查询前几条记录
    LINUX安装ORACLE 9204 报错解决!!
    ORACLE 归档日志打开关闭方法
    hsqldb快速入门
    Openstack中查看虚拟机console log的几种方法
  • 原文地址:https://www.cnblogs.com/qiyuexin/p/8206510.html
Copyright © 2020-2023  润新知