Astyle编程语言格式化工具的中文说明

摘要:
转载自leanderleeAstyle编程语言格式化工具的中文说明ArtisticStyle1.23Maintainedby:JimPatteeOriginalAuthor:TalDavidsonUsage:astyle[options]Source1.cppSource2.cpp[...]astyle[options]BeautifiedWhenindentingaspeci

转载自 leanderlee

Astyle编程语言格式化工具的中文说明
Artistic Style 1.23
Maintained by: Jim Pattee
Original Author: Tal Davidson

Usage : astyle [options] Source1.cpp Source2.cpp [...]
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.
可以用通配符指定要处理的文件,用-r递归处理子目录

By default, astyle is set up to indent C/C++/C#/Java 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.

风格:

--style=allman  OR  --style=bsd  OR  -A1
allman风格
Allman style formatting/indenting.
Broken brackets.

--style=java  OR  -A2
java风格
Java style formatting/indenting.
Attached brackets.

--style=k&r  OR  --style=k/r  OR  -A3
k&r风格
Kernighan & Ritchie style formatting/indenting.
Linux brackets.

--style=stroustrup  OR  -A4
stroustrup风格
Stroustrup style formatting/indenting.
Stroustrup brackets.

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

--style=banner  OR  -A6
banner风格
Banner style formatting/indenting.
Attached, indented brackets.
Indented class blocks and switch blocks.

--style=gnu  OR  -A7
gnu风格
GNU style formatting/indenting.
Broken brackets, indented blocks, indent is 2 spaces.

--style=linux  OR  -A8
linux风格
GNU style formatting/indenting.
Linux brackets, indent is 8 spaces.

Tab and Bracket Options:

tab选项:
默认tab是4个空格.

--indent=spaces=#  OR  -s#
默认行缩进为4个空格,可以将#替换为缩进量

--indent=tab  OR  --indent=tab=#  OR  -t  OR  -t#
行缩进用tab,默认tab长度与4个空格相等

--indent=force-tab=#  OR  -T#
优先采用空格缩进

大括号选项:
If no brackets option is set,
the brackets will not be changed.

--brackets=break  OR  -b
大括号与前一块隔开为两行
Break brackets from pre-block code (i.e. ANSI C/C++ style).

--brackets=attach  OR  -a
大括号前一个与上一行在同一行
Attach brackets to pre-block code (i.e. Java/K&R style).

--brackets=linux  OR  -l
定义块 和 函数块中的大括号都被处理
Break definition-block brackets and attach command-block
brackets.

--brackets=stroustrup  OR  -u
只处理函数中的大括号
Attach all brackets except function definition brackets.

Indentation options:

--indent-classes  OR  -C
缩进类定义中的public private protected标签.
Indent 'class' blocks, so that the inner 'public:',
'protected:' and 'private: headers are indented in
relation to the class block.

--indent-switches  OR  -S
缩进switch中的case块,case和switch不在同一列
Indent 'switch' blocks, so that the inner 'case XXX:'
headers are indented in relation to the switch block.

--indent-cases  OR  -K
缩进case下面的语句
Indent case blocks from the 'case XXX:' headers.
Case statements not enclosed in blocks are NOT indented.

--indent-blocks  OR  -G
给块添加缩进,包括大括号
Add extra indentation entire blocks (including brackets).

--indent-brackets  OR  -B
给大括号添加缩进
Add extra indentation to '{' and '}' block brackets.

--indent-namespaces  OR  -N
缩进命名空间定义行
Indent the contents of namespace blocks.

--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-preprocessor  OR  -w
多行宏定义缩进
Indent multi-line #define statements.

--max-instatement-indent=#  OR  -M#
跨行缩进,比如函数定义中的参数处在多行,那么参数缩进到同一列
Indent a maximal # spaces in a continuous statement,
relative to the previous line.

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

Formatting options:

--break-blocks  OR  -f
空行分隔没有关系的块,类,标签(不包括函数块)
Insert empty lines around unrelated blocks, labels, classes, ...

--break-blocks=all  OR  -F
空行分隔无关系的块,包括else catch等
Like --break-blocks, except also insert empty lines
around closing headers (e.g. 'else', 'catch', ...).

--break-closing-brackets  OR  -y
else catch左边的大括号与else catch分隔
Break brackets before closing headers (e.g. 'else', 'catch', ...).
Use with --brackets=attach, --brackets=linux,
or --brackets=stroustrup.

--break-elseifs  OR  -e
else if()分隔为两行
Break 'else if()' statements into two different lines.

--delete-empty-lines  OR  -x
删除多余空行
Delete empty lines within a function or method.
It will NOT delete lines added by the break-blocks options.

--pad-oper  OR  -p
操作符两端插入一个空格
Insert space paddings around operators.

--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-paren-in  OR  -D
括号外部插入空格
Insert space padding around parenthesis on the inside only.

--unpad-paren  OR  -U
移除括号两端多余空格
Remove unnecessary space padding around parenthesis.  This
can be used in combination with the 'pad' options above.

--keep-one-line-statements  OR  -o
一行中的多个申明不分隔  int x;int y;int z不被分为3行
Don't break lines containing multiple statements into
multiple single-statement lines.

--keep-one-line-blocks  OR  -O
大括号中的单行语句不被拆分
Don't break blocks residing completely on one line.

--convert-tabs  OR  -c
tab转换为空格
Convert tabs to the appropriate number of spaces.

--fill-empty-lines  OR  -E
块间空行的换行符前插入一个空格
Fill empty lines with the white space of their
previous lines.

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

--mode=java
处理jave文件
Indent a Java source file.

--mode=cs
处理c#文件
Indent a C# source file.

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.

--options=####
指定从####文件读取选项信息
Specify an options file #### to read and use.

--options=none
禁止从文件读取选项信息
Disable the default options file.
Only the command-line parameters will be used.

--recursive  OR  -r  OR  -R
递归处理子目录
Process subdirectories recursively.

--exclude=####
排除不处理的文件夹
Specify a file or directory #### to be excluded from processing.

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

--preserve-date  OR  -Z
不修改时间
The date and time modified will not be changed in the formatted file.

--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.

--version  OR  -V
输出astyle版本
Print version number.

--help  OR  -h  OR  -?
帮助信息
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.
   从ARTISTIC_STYLE_OPTIONS环境变量读取选项
2. The file called .astylerc in the directory pointed to by the
   HOME environment variable ( i.e. $HOME/.astylerc ).
   从/home文件夹中的.astylerc文件读取选项
3. The file called astylerc in the directory pointed to by the
   USERPROFILE environment variable ( i.e. %USERPROFILE%astylerc ).
   从USERPROFILE下的astylerc文件读取选项信息
If a default options file is found, the options in this file
will be parsed BEFORE the command-line options.
Long options within the default option file may be written without
the preliminary '--'.

--options的用法:

我的在source insight中的设置为 AStyle.exe --options=D:TOOLSAStyleastyle.cfg %f

astyle.cfg内容为:

-s4 -SKFxpUcnlaC
#井号表示是注释
#-s4 行缩进用4个空格
#-S  switch 与case不同列,case缩进
#-K  缩进case下面的语句
#-F  空行分隔无关块
#-x  删除多余空行
#-p  操作符两端出入空格
#-U  移除括号两端多余空格
#-c  tab转空格
#-n  不做备份
#-l  处理定义和函数中的大括号
#-a  大括号保留在上一行

免责声明:文章转载自《Astyle编程语言格式化工具的中文说明》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ubuntu安装TcpdumpWindows下切分文件(GnuWin32)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

json字符串大括号里的必须全部双引号

python中,字典和json字符串互相转换,json中key和value必须是双引号 一,字典中,key和value可以是单引号或者是双引号 #一,字典转换为json字符串,字典中key和value可以是单引号或者是双引号,但是转换称json格式后,都是双引号 dic={'a':1,'b':'haha'} st=json.dumps(dic) print...

C++11大括号的使用

1、前言 最开始是看到别人的代码,在声明拉姆达函数的时候,将函数体用大括号包裹,返回值作为auto接收,觉得新奇【其实我内心是痛恨这种方式的,让没见过这种写法的人会恍惚一下,真就为了装逼,真就你厉害呗,咱用了多少年的等号,现在又得花时间去学习你的牛逼之处呗】 在C++11中这种方式被称为初始化列表【构造函数里也有个初始化列表。。】【initializer...

Delphi 条件编译语法 $IFDEF $ELSE $ENDIF

对Delphi来说,{}(左右大括号)内是註解,不过如果是{$(左大括号加钱字号)内容是给编译器看的编译指令。 编译指令的用途為: 1.程式除错 2.版本控制 定义方式: 1. Project -> Options… -> Conditional defines 程式定义 2. Unit内定义 {$DEFINE xxxxx} 使用方式: //...

vscode折叠代码后,没有显示结束大括号,只显示省略号怎么解决

最近vscode 更新了之后偶然发现,折叠地代码之后,结束的大括号没有显示出来,而是只显示省略号,感觉很不方便,如下图: 这样如果我要在下面接着写同级代码的话,感觉不踏实,因为不确定上一个代码块(通常是一个方法)到底结束没。。 其实解决方法很简单: 文件  ---->  首选项 -----------> 设置,打开设置菜单,如下图执行三步:...

Solution 「LOCAL」大括号树

\(\mathcal{Description}\)  OurTeam & OurOJ.   给定一棵 \(n\) 个顶点的树,每个顶点标有字符 ( 或 )。将从 \(u\) 到 \(v\) 的简单有向路径上的字符串成括号序列,记其正则匹配的子串个数为 \(\operatorname{ans}(u,v)\)。求: \[\sum_{u=1}^n\su...