打印
[开发工具]

Keil之Astyle代码格式化

[复制链接]
319|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pmp|  楼主 | 2023-12-17 21:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Usage:
------
            astyle [OPTIONS] File1 File2 File3 [...]

            astyle [OPTIONS] < Original > Beautified

    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.

    Wildcards (* and ?) may be used in the filename.
    A 'recursive' option can process directories recursively.
    Multiple file extensions may be separated by a comma.

    By default, astyle is set up to indent with four spaces per indent,
    a maximal indentation of 40 spaces inside continuous statements,
    a minimum indentation of eight spaces inside conditional statements,
    and NO formatting options.

Options:
--------
    This  program  follows  the  usual  GNU  command line syntax.
    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.

Option Files:
-------------
    Artistic Style looks for a default option file and/or a project
    option file in the following order:
    1. The command line options have precedence.
    2. The project option file has precedence over the default file
       o the file name indicated by the --project= command line option.
       o the file named .astylerc or _ astylerc.
       o the file name identified by ARTISTIC_STYLE_PROJECT_OPTIONS.
       o the file is disabled by --project=none on the command line.
    3. The default option file that can be used for all projects.
       o the file path indicated by the --options= command line option.
       o the file path indicated by ARTISTIC_STYLE_OPTIONS.
       o the file named .astylerc in the HOME directory (for Linux).
       o the file name astylerc in the APPDATA directory (for Windows).
       o the file is disabled by --project=none on the command line.
    Long options within the option files may be written without '--'.
    Line-end comments begin with a '#'.

Disable Formatting:
-------------------
    Disable Block
    Blocks of code can be disabled with the comment tags *INDENT-OFF*
    and *INDENT-ON*. It must be contained in a one-line comment.

    Disable Line
    Padding of operators can be disabled on a single line using the
    comment tag *NOPAD*. It must be contained in a line-end comment.

Brace Style Options:
--------------------
    default brace style
    If no brace style is requested, the opening braces will not be
    changed and closing braces will be broken from the preceding line.

    --style=allman  OR  --style=bsd  OR  --style=break  OR  -A1
    Allman style formatting/indenting.
    Broken braces.

    --style=java  OR  --style=attach  OR  -A2
    Java style formatting/indenting.
    Attached braces.

    --style=kr  OR  --style=k&r  OR  --style=k/r  OR  -A3
    Kernighan & Ritchie style formatting/indenting.
    Linux braces.

    --style=stroustrup  OR  -A4
    Stroustrup style formatting/indenting.
    Linux braces.

    --style=whitesmith  OR  -A5
    Whitesmith style formatting/indenting.
    Broken, indented braces.
    Indented class blocks and switch blocks.

    --style=vtk  OR  -A15
    VTK style formatting/indenting.
    Broken, indented braces except for the opening braces.

    --style=ratliff  OR  --style=banner  OR  -A6
    Ratliff style formatting/indenting.
    Attached, indented braces.

    --style=gnu  OR  -A7
    GNU style formatting/indenting.
    Broken braces, indented blocks.

    --style=linux  OR  --style=knf  OR  -A8
    Linux style formatting/indenting.
    Linux braces, minimum conditional indent is one-half indent.

    --style=horstmann  OR  --style=run-in  OR  -A9
    Horstmann style formatting/indenting.
    Run-in braces, indented switches.

    --style=1tbs  OR  --style=otbs  OR  -A10
    One True Brace Style formatting/indenting.
    Linux braces, add braces to all conditionals.

    --style=google  OR  -A14
    Google style formatting/indenting.
    Attached braces, indented class modifiers.

    --style=mozilla  OR  -A16
    Mozilla style formatting/indenting.
    Linux braces, with broken braces for structs and enums,
    and attached braces for namespaces.

    --style=pico  OR  -A11
    Pico style formatting/indenting.
    Run-in opening braces and attached closing braces.
    Uses keep one line blocks and keep one line statements.

    --style=lisp  OR  -A12
    Lisp style formatting/indenting.
    Attached opening braces and attached closing braces.
    Uses keep one line statements.

Tab Options:
------------
    default indent option
    If no indentation option is set, the default
    option of 4 spaces per indent will be used.

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

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

    --indent=force-tab=#  OR  -T#
    Indent using tab characters, assuming that each
    indent is # spaces long. Force tabs to be used in areas
    AStyle would prefer to use spaces.

    --indent=force-tab-x=#  OR  -xT#
    Allows the tab length to be set to a length that is different
    from the indent length. This may cause the indentation to be
    a mix of both spaces and tabs. This option sets the tab length.

Brace Modify Options:
---------------------
    --attach-namespaces  OR  -xn
    Attach braces to a namespace statement.

    --attach-classes  OR  -xc
    Attach braces to a class statement.

    --attach-inlines  OR  -xl
    Attach braces to class inline function definitions.

    --attach-extern-c  OR  -xk
    Attach braces to an extern "C" statement.

    --attach-closing-while  OR  -xV
    Attach closing while of do-while to the closing brace.

Indentation Options:
--------------------
    --indent-classes  OR  -C
    Indent 'class' blocks so that the entire block is indented.

    --indent-modifiers  OR  -xG
    Indent 'class' access modifiers, 'public:', 'protected:' or
    'private:', one half indent. The rest of the class is not
    indented.

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

    --indent-cases  OR  -K
    Indent case blocks from the 'case XXX:' headers.
    Case statements not enclosed in blocks are NOT indented.

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

    --indent-after-parens  OR  -xU
    Indent, instead of align, continuation lines following lines
    that contain an opening paren '(' or an assignment '='.

    --indent-continuation=#  OR  -xt#
    Indent continuation lines an additional # indents.
    The valid values are 0 thru 4 indents.
    The default value is 1 indent.

    --indent-labels  OR  -L
    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).

    --indent-preproc-block  OR  -xW
    Indent preprocessor blocks at brace level 0.
    Without this option the preprocessor block is not indented.

    --indent-preproc-cond  OR  -xw
    Indent preprocessor conditional statements #if/#else/#endif
    to the same level as the source code.

    --indent-preproc-define  OR  -w
    Indent multi-line preprocessor #define statements.

    --indent-col1-comments  OR  -Y
    Indent line comments that start in column one.

    --min-conditional-indent=#  OR  -m#
    Indent a minimal # spaces in a continuous conditional
    belonging to a conditional header.
    The valid values are:
    0 - no minimal indent.
    1 - indent at least one additional indent.
    2 - indent at least two additional indents.
    3 - indent at least one-half an additional indent.
    The default value is 2, two additional indents.

    --max-continuation-indent=#  OR  -M#
    Indent a maximal # spaces in a continuation line,
    relative to the previous line.
    The valid values are 40 thru 120.
    The default value is 40.

Padding Options:
----------------
    --break-blocks  OR  -f
    Insert empty lines around unrelated blocks, labels, classes, ...

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

    --pad-oper  OR  -p
    Insert space padding around operators.

    --pad-comma  OR  -xg
    Insert space padding after commas.

    --pad-paren  OR  -P
    Insert space padding around parenthesis on both the outside
    and the inside.

    --pad-paren-out  OR  -d
    Insert space padding around parenthesis on the outside only.

    --pad-first-paren-out  OR  -xd
    Insert space padding around first parenthesis in a series on
    the outside only.

    --pad-paren-in  OR  -D
    Insert space padding around parenthesis on the inside only.

    --pad-header  OR  -H
    Insert space padding after paren headers (e.g. 'if', 'for'...).

    --unpad-paren  OR  -U
    Remove unnecessary space padding around parenthesis. This
    can be used in combination with the 'pad' options above.

    --delete-empty-lines  OR  -xd
    Delete empty lines within a function or method.
    It will NOT delete lines added by the break-blocks options.

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

    --align-pointer=type    OR  -k1
    --align-pointer=middle  OR  -k2
    --align-pointer=name    OR  -k3
    Attach a pointer or reference operator (*, &, or ^) to either
    the operator type (left), middle, or operator name (right).
    To align the reference separately use --align-reference.

    --align-reference=none    OR  -W0
    --align-reference=type    OR  -W1
    --align-reference=middle  OR  -W2
    --align-reference=name    OR  -W3
    Attach a reference operator (&) to either
    the operator type (left), middle, or operator name (right).
    If not set, follow pointer alignment.

Formatting Options:
-------------------
    --break-closing-braces  OR  -y
    Break braces before closing headers (e.g. 'else', 'catch', ...).
    Use with --style=java, --style=kr, --style=stroustrup,
    --style=linux, or --style=1tbs.

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

    --break-one-line-headers  OR  -xb
    Break one line headers (e.g. 'if', 'while', 'else', ...) from a
    statement residing on the same line.

    --add-braces  OR  -j
    Add braces to unbraced one line conditional statements.

    --add-one-line-braces  OR  -J
    Add one line braces to unbraced one line conditional
    statements.

    --remove-braces  OR  -xj
    Remove braces from a braced one line conditional statements.

    --break-return-type       OR  -xB
    --break-return-type-decl  OR  -xD
    Break the return type from the function name. Options are
    for the function definitions and the function declarations.

    --attach-return-type       OR  -xf
    --attach-return-type-decl  OR  -xh
    Attach the return type to the function name. Options are
    for the function definitions and the function declarations.

    --keep-one-line-blocks  OR  -O
    Don't break blocks residing completely on one line.

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

    --convert-tabs  OR  -c
    Convert tabs to the appropriate number of spaces.

    --close-templates  OR  -xy
    Close ending angle brackets on template definitions.

    --remove-comment-prefix  OR  -xp
    Remove the leading '*' prefix on multi-line comments and
    indent the comment text one indent.

    --max-code-length=#    OR  -xC#
    --break-after-logical  OR  -xL
    max-code-length=# will break the line if it exceeds more than
    # characters. The valid values are 50 thru 200.


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

pmp

156

主题

7247

帖子

6

粉丝