Artistic Style
最近发现写代码 空格多点是挺好看的,问题是我个懒人,写的时候压根就没这个意识,可以去写的话,速度慢了不说,有的地方有空格,有的地方有忘记了,更难看了,特意上网搜了这个东西,用来格式化代码
建议大家在发布自己软件包含源码的时候,最好也能把代码格式化下,方便别人观看,特别那些刚刚学c/c++,java的新手,没缩进,没什么的,你自己也许不觉得,给别人看的时候是个很难受的事情
一般是切到文件夹下面直接执行下面命令
for /R .\ %f in (*.cpp) do astyle --style=ansi -f -p "%f"
for /R .\ %f in (*.h) do astyle --style=ansi -f -p "%f"
风格说明:
--style=ansi
ANSI style formatting/indenting. Brackets are broken, indentation is 4 spaces. Namespaces, classes, and switches are NOT indented.
namespace foospace
{
int Foo()
{
if (isBar)
{
bar();
return 1;
}
else
return 0;
}
}
--style=gnu
GNU style formatting/indenting. Brackets are broken, blocks are indented, and indentation is 2 spaces. Namespaces, classes, and switches are NOT indented.
namespace foospace
{
int Foo()
{
if (isBar)
{
bar();
return 1;
}
else
return 0;
}
}
--style=kr
Kernighan & Ritchie style formatting/indenting. Brackets are attached, indentation is 4 spaces. Namespaces, classes, and switches are NOT indented.
namespace foospace {
int Foo() {
if (isBar) {
bar();
return 1;
} else
return 0;
}
}
--style=linux
Linux style formatting/indenting. All brackets are linux style, indentation is 8 spaces. Namespaces, classes, and switches are NOT indented.
namespace foospace
{
int Foo()
{
if (isBar) {
bar();
return 1;
} else
return 0;
}
}
--style=java
Java style formatting/indenting. Brackets are attached, indentation is 4 spaces. Switches are NOT indented.
class foospace {
int Foo() {
if (isBar) {
bar();
return 1;
} else
return 0;
}
}
比较有用的参数 这个也是看别人blog的
(1) -f
在两行不相关的代码之间插入空行,如import和public class之间、public class和成员之间等;
(2) -p
在操作符两边插入空格,如=、+、-等。
如:int a=10*60;
处理后变成int a = 10 * 60;
(3) -P
在括号两边插入空格。另,-d只在括号外面插入空格,-D只在里面插入。
如:System.out.println(1);
处理后变成System.out.println( 1 );
(4) -U
移除括号两边不必要的空格。
如:System.out.println( 1 );
处理后变成System.out.println(1);
(5) -V
将Tab替换为空格。
具体看它自己的
这里以我自己的操作为例:
一、把AStyle.exe复制到X:\icc\bin目录下。
二、在X:\icc\bin目录下新建astylerc.txt,文件内容如下:
style=ansi
#---------------indent options-----------------
indent=spaces=4
indent-preprocessor
indent-namespaces
max-instatement-indent=80
min-conditional-indent=0
pad=oper
unpad=paren
#------------- breack options --------------------
one-line=keep-statements
one-line=keep-blocks
#Add extra indentation to namespace blocks
suffix=none
errors-to-stdout
三、编辑器集成 :
打开ICCAVR在 “tools”---“configure tool”弹出的图框中按下图设置参数:
四、 打开一个C文档,
然后点击 “tools”---“AStyle”,AStyle就会对C文档进行格式化:
文章评论(0条评论)
登录后参与讨论