Artistic Style 3.1

田修为
2023-12-01


                     Artistic Style 3.1
                     Maintained by: Jim Pattee
                     Original Author: Tal Davidson

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.
    If the line contains logical conditionals they will be placed
    first on the new line. The option break-after-logical will
    cause the logical conditional to be placed last on the
    previous line.

    --mode=c
    Indent a C or C++ source file (this is the default).

    --mode=java
    Indent a Java source file.

    --mode=cs
    Indent a C# source file.

Objective-C Options:
--------------------
    --pad-method-prefix  OR  -xQ
    Insert space padding after the '-' or '+' Objective-C
    method prefix.

    --unpad-method-prefix  OR  -xR
    Remove all space padding after the '-' or '+' Objective-C
    method prefix.

    --pad-return-type  OR  -xq
    Insert space padding after the Objective-C return type.

    --unpad-return-type  OR  -xr
    Remove all space padding after the Objective-C return type.

    --pad-param-type  OR  -xS
    Insert space padding after the Objective-C return type.

    --unpad-param-type  OR  -xs
    Remove all space padding after the Objective-C return type.

    --align-method-colon  OR  -xM
    Align the colons in an Objective-C method definition.

    --pad-method-colon=none    OR  -xP
    --pad-method-colon=all     OR  -xP1
    --pad-method-colon=after   OR  -xP2
    --pad-method-colon=before  OR  -xP3
    Add or remove space padding before or after the colons in an
    Objective-C method call.

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

    --suffix=none  OR  -n
    Do not retain a backup of the original file.

    --recursive  OR  -r  OR  -R
    Process subdirectories recursively.

    --dry-run
    Perform a trial run with no changes made to check for formatting.

    --exclude=####
    Specify a file or directory #### to be excluded from processing.

    --ignore-exclude-errors  OR  -i
    Allow processing to continue if there are errors in the exclude=####
    options. It will display the unmatched excludes.

    --ignore-exclude-errors-x  OR  -xi
    Allow processing to continue if there are errors in the exclude=####
    options. It will NOT display the unmatched excludes.

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

    --preserve-date  OR  -Z
    Preserve the original file's date and time modified. The time
     modified will be changed a few micro seconds to force a compile.

    --verbose  OR  -v
    Verbose mode. Extra informational messages will be displayed.

    --formatted  OR  -Q
    Formatted display mode. Display only the files that have been
    formatted.

    --quiet  OR  -q
    Quiet mode. Suppress all output except error messages.

    --lineend=windows  OR  -z1
    --lineend=linux    OR  -z2
    --lineend=macold   OR  -z3
    Force use of the specified line end style. Valid options
    are windows (CRLF), linux (LF), and macold (CR).

Command Line Only:
------------------
    --options=####
    --options=none
    Specify a default option file #### to read and use.
    It must contain a file path and a file name.
    'none' disables the default option file.

    --project
    --project=####
    --project=none
    Specify a project option file #### to read and use.
    It must contain a file name only, without a directory path.
    The file should be included in the project top-level directory.
    The default file name is .astylerc or _astylerc.
    'none' disables the project or environment variable file.

    --ascii  OR  -I
    The displayed output will be ascii characters only.

    --version  OR  -V
    Print version number.

    --help  OR  -h  OR  -?
    Print this help message.

    --html  OR  -!
    Open the HTML help file "astyle.html" in the default browser.
    The documentation must be installed in the standard install path.

    --html=####
    Open a HTML help file in the default browser using the file path
    ####. The path may include a directory path and a file name, or a
    file name only. Paths containing spaces must be enclosed in quotes.

    --stdin=####
    Use the file path #### as input to single file formatting.
    This is a replacement for redirection.

    --stdout=####
    Use the file path #### as output from single file formatting.
    This is a replacement for redirection.


 

 类似资料:

相关阅读

相关文章

相关问答