clang-format 是否可以根据大括号的存在而采取不同的行为?
Can clang-format act differently based on the presence of braces?
我想clang-format
改变:
if (condition) { printf("%d\n", 0); }
至:
if (condition) {
printf("%d\n", 0);
}
如果我将 AllowShortIfStatementsOnASingleLine
设置为 Never
,就会发生这种情况。但是,我也希望以下内容成为可能:
if (condition) return;
换句话说,我希望 clang-format
仅在存在大括号的情况下强制单独一行。使用 AllowShortIfStatementsOnASingleLine: Never
,这将更改为:
if (condition)
return;
这可能吗?
是的。您需要将 AllowShortBlocksOnASingleLine
设置为 false
。然后将 AllowShortIfStatementsOnASingleLine
设置为 WithoutElse
或 Always
(或 true
,对于 10.0 之前的 clang-format
版本)。
当代码有大括号时,使用AllowShortBlocksOnASingleLine
设置。当代码没有大括号时,使用 AllowShortIfStatementsOnASingleLine
设置。有关详细信息,请参阅 documentation。
像这样试验样式设置的好地方是 configurator。
我想clang-format
改变:
if (condition) { printf("%d\n", 0); }
至:
if (condition) {
printf("%d\n", 0);
}
如果我将 AllowShortIfStatementsOnASingleLine
设置为 Never
,就会发生这种情况。但是,我也希望以下内容成为可能:
if (condition) return;
换句话说,我希望 clang-format
仅在存在大括号的情况下强制单独一行。使用 AllowShortIfStatementsOnASingleLine: Never
,这将更改为:
if (condition)
return;
这可能吗?
是的。您需要将 AllowShortBlocksOnASingleLine
设置为 false
。然后将 AllowShortIfStatementsOnASingleLine
设置为 WithoutElse
或 Always
(或 true
,对于 10.0 之前的 clang-format
版本)。
当代码有大括号时,使用AllowShortBlocksOnASingleLine
设置。当代码没有大括号时,使用 AllowShortIfStatementsOnASingleLine
设置。有关详细信息,请参阅 documentation。
像这样试验样式设置的好地方是 configurator。