我有一个程序,它使用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
答案 0 :(得分:0)
这可能看起来有点令人费解,但如果你有很多来源 并添加大括号是一个你只需要一次的操作, 以下方案可能有效。
你可以坚持使用astyle但暂时需要uncrustify 以及我写的一个名为whatstyle的脚本。
在以下步骤中,将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
public void start_sound(View v) {
String url = /*"MY_URL"*/;
try {
if (mp != null)
{
mp.stop();
mp.release();
mp = null;
}
mp = new MediaPlayer();
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setDataSource(url);
mp.prepare();
mp.start();
} catch (Exception e) {}
}
现在,除了添加的大括号外,您的来源应该与以前几乎相同 虽然来回风格转换可能会有更多变化。