Astyle-如何将不带大括号的条件格式化为1TBS
Astyle - how to format condition without braces to 1TBS
我有一个程序,它使用Astyle将代码格式化为1TBS。所以,如果我有一个像这样的代码
if(condition)
func(a, b);
它变为这个
if(condition) {
func(a, b);
}
问题是,当被调用函数中的参数被分解为多行时,如下所示:
if(condition)
func(a,
b);
即使我试图用--add-brackets
强迫Astyle,他也无法添加大括号。有可能用其他方法吗?
我的命令现在看起来是这样的:
astyle --style=1tbs --add-brackets test.c
这可能看起来有点复杂,但如果您有很多来源添加大括号只需要一次操作,以下方案可能有效。
你可以坚持astyle,但你需要暂时取消它还有我写的一个叫whatstyle的剧本。
在以下步骤中,用源替换test1.c
并保留备份因为它们将被修改。
教astyle你的来源的当前风格
whatstyle.py -f astyle --mode resilient --output astylerc test1.c
教你不要相信你的来源的当前风格
whatstyle.py -f uncrustify --output uncrustify.cfg test1.c
告诉unjustify始终在if中添加大括号
( egrep -v mod_full_brace_if < uncrustify.cfg ; echo "mod_full_brace_if = force" )
> uncrustify_addbrace.cfg
在不合理的情况下,尽可能少地改变风格,重新格式化你的来源
uncrustify --replace -c uncrustify_addbrace.cfg test1.c
已经添加的大括号现在使用astyle重新转换为原始样式
ARTISTIC_STYLE_OPTIONS=astylerc astyle test1.c
现在,除了添加了大括号之外,您的源代码看起来应该与以前几乎相同尽管来回样式转换可能会有更多的更改。
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 在没有太多条件句的情况下,我如何避免被零除
- 基于多个条件处理地图中的所有元素
- 条件constexpr函数
- 无论条件是否为true,if总是在c++中执行
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 基于模板值的条件变量
- C++格式化输出问题
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 将按位if条件转换为普通if条件
- 条件断点在不应该触发时触发
- 为什么简单的算术减法在"if"条件下不起作用?
- 如何在for循环中包含两个索引值的测试条件
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 我提出什么条件才能再加5%的折扣
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 即使没有满足他们的条件,我也无法通过一些 do-while 循环
- 格式化浮点值:返回默认值
- 如何编写一个使用n倍三元条件语句的C++布尔函数
- 没有超时的C++条件变量