IE,这个:
if (x > 5)
return test;
将永远成为:
if (x > 5)
{
return test;
}
我不是在谈论牙套样式(Allman,GNU,Whiteman等),我只是说要在那里牙套。
有些东西可以防止/启用单行控制语句,例如:
if (x > 5) return test;
这是AllowShortBlocksOnASingleLine
,但这不是我在这里要的。
如果它适用于clang 7,那是理想的选择,但如果没有,请告诉我。
[您可以坚持使用clang-format
是可以理解的,但是my recent post使我陷入了一个类似的兔子洞。看来clang-format
大多被用作纯空白格式器。要,我建议使用Uncrustify。构建过程非常简单(有关详细信息,请参见github页),您的配置如下:$ cat .uncrustify
# Uncrustify-0.70.1
nl_if_brace = remove
nl_brace_else = force
nl_elseif_brace = remove
nl_else_brace = remove
nl_else_if = remove
nl_before_if_closing_paren = remove
nl_for_brace = remove
nl_while_brace = remove
nl_do_brace = remove
nl_brace_while = remove
nl_multi_line_sparen_open = remove
nl_multi_line_sparen_close = remove
nl_after_vbrace_close = true
mod_full_brace_do = force
mod_full_brace_for = force
mod_full_brace_function = force
mod_full_brace_if = force
mod_full_brace_while = force
您可以使用以下命令对此源文件运行Uncrustify:
$ uncrustify -c /path/to/.uncrustify --no-backup example.c
如果您需要更多的格式设置选项,它们的online config tool包含一些示例和说明,其中包含大量可配置项。
您声明:
我不是要安装辅助工具-它必须与未更改的clang格式安装一起使用。 [...][恐怕
clang-format
6.0(我研究和测试过的东西)和7.0(我研究过的东西)似乎不可能。