作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个程序,它使用 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,但您需要 uncrustify暂时地以及我编写的名为 whatstyle 的脚本.
在以下步骤中,将 test1.c
替换为您的源代码并保留备份您的来源将被修改。
whatstyle.py -f astyle --mode resilient --output astylerc test1.c
whatstyle.py -f uncrustify --output uncrustify.cfg test1.c
( 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
ARTISTIC_STYLE_OPTIONS=astylerc astyle test1.c
现在,除了添加的大括号之外,您的源代码应该看起来几乎与以前相同尽管来回风格转换可能会带来更多变化。
关于c++ - Astyle - 如何将不带大括号的条件格式化为 1TBS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38614248/
出于好奇,我尝试了一些原型(prototype)制作,但似乎只允许在第一个位置使用子例程的原型(prototype) &。 当我写作时 sub test (&$$) { do_somethin
我需要开发一个类似于 Android Play 商店应用程序或类似 this app 的应用程序.我阅读了很多教程,发现几乎每个教程都有与 this one 类似的例子。 . 我已经开始使用我的应用程
考虑一个表示“事件之间的时间”的列: (5, 40, 3, 6, 0, 9, 0, 4, 5, 18, 2, 4, 3, 2) 我想将这些分组到 30 个桶中,但桶会重置。期望的结果: (0, 1,
我是一名优秀的程序员,十分优秀!