无主体 while 循环和分号之间的换行符
Newline between bodieless while loops and semicolon
在使用 uncrustify 时,我遇到了 while 循环的问题。如果 while 循环没有主体,则尾随分号将被推到下一行。在 GitHub 和本网站上,我发现没有任何提及。问题是否与在不同线路中强制使用一个衬垫有关?
我试过的代码是:(这也是最终应该的样子)
int main()
{
int i = 20000;
while(i--);
return 0;
}
但是 uncrustify returns 是:
int main()
{
int i = 20000;
while (i--)
;
return 0;
}
使用空配置文件不会发生这种情况,因此此行为是由您在正在使用的配置文件中添加的选项引起的(很可能是 nl_*
选项之一)。
Post一个link到你的文件。
这两个选项都会导致此行为:
# Add or remove newline between 'while' and '{'.
nl_while_brace = force # ignore/add/remove/force
# Change a one-liner while statement into simple unbraced while
# 'while (i<5) foo(i++);' => 'while (i<5)\n foo(i++);'.
nl_split_while_one_liner = true # false/true
请记住,Uncrustify 也将缺失的大括号(虚拟大括号)视为大括号 (nl_while_brace
)。
Uncrustify 有一个选项可以禁用对间距选项的 vbraces 处理,但它似乎缺少对换行符选项的处理。如果您需要在 github 存储库站点上打开功能或拉取请求:https://github.com/uncrustify/uncrustify。
在使用 uncrustify 时,我遇到了 while 循环的问题。如果 while 循环没有主体,则尾随分号将被推到下一行。在 GitHub 和本网站上,我发现没有任何提及。问题是否与在不同线路中强制使用一个衬垫有关?
我试过的代码是:(这也是最终应该的样子)
int main()
{
int i = 20000;
while(i--);
return 0;
}
但是 uncrustify returns 是:
int main()
{
int i = 20000;
while (i--)
;
return 0;
}
使用空配置文件不会发生这种情况,因此此行为是由您在正在使用的配置文件中添加的选项引起的(很可能是 nl_*
选项之一)。
Post一个link到你的文件。
这两个选项都会导致此行为:
# Add or remove newline between 'while' and '{'.
nl_while_brace = force # ignore/add/remove/force
# Change a one-liner while statement into simple unbraced while
# 'while (i<5) foo(i++);' => 'while (i<5)\n foo(i++);'.
nl_split_while_one_liner = true # false/true
请记住,Uncrustify 也将缺失的大括号(虚拟大括号)视为大括号 (nl_while_brace
)。
Uncrustify 有一个选项可以禁用对间距选项的 vbraces 处理,但它似乎缺少对换行符选项的处理。如果您需要在 github 存储库站点上打开功能或拉取请求:https://github.com/uncrustify/uncrustify。