C文件的格式化工具(astyle)

摘要:
工具介绍:astyle用于格式化C、C++、C#、Java等文件,以便于将代码样式转换为所需效果。工具ubuntu14.04$apt-getinstallstyle的安装环境该工具的简单使用可以格式化一个文件$astylxxx。c、 或批处理格式$astylex1.cx2.cx3.cx5.c。命令完成后,如果成功,将提示您格式化xxx。有关其他信息,请参阅打印信息。在格式化之前,astyle将备份文件中的文件。使用相同名称的orig,然后格式化它。设置默认输出格式文件,指定方法$HOME/Astylerc环境变量模式ARTISTIC_STYLE_OPTIONS命令行模式--OPTIONS如果未指定输出格式,则默认情况下将使用4个空格作为缩进。例如--exclude=“foobar.cpp”-q安静模式-q仅显示格式化文件推荐指令astyle-A10-j-O-c-k3-H-S-Yfoo。c

工具简介


astyle用于格式化 C,C++,C#, Java等文件,方便将代码风格转变成预期的效果。如改变缩进方式、括号风格等等。

工具的安装


环境 ubuntu 14.04
$apt-get install astyle

工具的简单使用


格式化单个文件
$astyle xxx.c
或者批量格式化
$astyle x1.c x2.c x3.c x5.c
指令敲完后,成功则提示 格式化 xxx,其他情况见打印信息。
astyle会在格式化之前将文件备份在同名文件.orig中,再格式化。

设置默认输出格式


文件指定方式
$HOME/.astylerc
环境变量方式
ARTISTIC_STYLE_OPTIONS
命令行方式(常用,具体见下面命令行options)
--options
若没有指定输出格式,那么会默认以4个空格为缩进进行格式化。

命令行options


astyle [options] < Original > Beautified

括号风格

-A10 推荐一下这种风格,名曰"One True Brace Style",函数的大括号各独占一行,函数内的左大括号紧跟行尾。

括号的风格很多,有A1到A12,都可以尝试一下效果。

缩进风格

-s# 以空格作为缩进,#号可以代替一个数值,用于设置每层的缩进长度,范围是2 and 20。默认-s4
-t# 以tab作为缩进,#号可以代替一个数值,用于设置每层的缩进长度,范围是2 and 20。

缩进选项

-C 结构体、class中的public和protected等的缩进。
-S switch的case的缩进。
-K switch的case的缩进,默认是这种,case和switch同列的。
-N 为namespace块添加缩进,对java文件无效。
-Y C++的注释方式//加上一个空格

padding

-f if、for、while的上面都空一行。
-F if、for、while的上面都空一行,else、catch的前后括号都写在一行。
-p 操作符左右带空格,一旦使用就无法缩回去了。
-P 圆括号之后之前都加一个空格。
-H if、for、while之后都加一个空格。
-U 取消-H。
-xe 删除空行。
-k# #可以替换1、2、3,表示将C/C++中的*、&、^放在类型与变量名的中间的左边、中间、右边。

格式

-e 将else if打断,拆成两行来写。
-j 为没有带括号的if、for、while之后的一行加上一对括号。
-J 与-j相反。
-O 不拆开写在一行的块。
-o 让复杂的表达式仍保留在一行。
-c 将tab转成空格。
--mode=c 用C/C++模式。
--mode=cs 用C#模式。
--mode=java 用Java模式。

其他选项

--exclude="###" 将文件或者目录忽略,不进行处理。比如--exclude="foo bar.cpp"
-q 安静模式
-Q 只显示已经格式化的文件

推荐指令

astyle -A10 -j -O -o -c -k3 -H -S -Y foo.c

免责声明:文章转载自《C文件的格式化工具(astyle)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇限流的几种方式【Java学习】jar打包下篇

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

相关文章

grep、egrep命令用法

何谓正则表达式 正则表达式,又称正规表示法、常规表示法(Regular Expression,在代码中常简写为regex、regexp或RE),是一类字符所书写的模式,其中许多字符不表示其字面意义,而是表达控制或通配等功能。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模...

关于方括号和尖括号的区别

经常我们会看到命令说明中包含一些方括号"[ ]","< >",一直都没有怎么搞清楚这两个的区别,这两天学习monkey,才算普及到了这个知识,这里做个简单的记录,方便闲来无事的时候查看。 方括号:表示可选参数 尖括号:表示必填参数 举例:adb shell monkey [option] <count> 基本命令格式 尖括号...

利用栈实现四则运算表达式求值----先将中缀表达式转换成后缀表达式,然后再求后缀表达式的值

利用栈实现四则运算表达式求值,附Python代码中缀表达式和后缀表达式 平时用到的标准的四则运算表达式就叫做中缀表达式,例如“9 +(3 - 1) * 3 + 10 / 2)”,特点是运算符在数字中间; 后缀表达式就是一种把运算符放在数字后面的形式,“9 3 1 - 3 * + 10 2 / +”即为上例中缀表达式对应的后缀表达式形式,后缀表达式还有一个特...

Java:双括号初始化 /匿名内部类初始化法

偶然见到一种初始化方式,感到十分新奇: //新建一个列表并赋初值A、B、C ArrayList<String> list = new ArrayList<String>() {{ add("A"); add("B"); add("C"); }};...

Oracle(安装PLSQL、注册、配置环境变量)

1、PLSQL安装 (1)双击plsqldev1000.exe后点击确定:  (2)选择路径(路径不能带有括号、空格、汉字): (3)下一步:  (4)finish:  (5)close:  (6)桌面生成图标:  (7) 双击图标后点击取消:  (8)进入主界面后要进行注册:  (9)点击注册:  (10)tools下的preferen...

LeetCode刷题--20.有效的括号(简单)

题目描述 给定一个只包括 ' ( ' , ' )  ',  ' { ' , ' } ' , ' [ ' , ' ] ' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例1: 输入:"()"输出:true 示例2: 输入:"()[ ] { } "输出:...