如果使用 clang-format,则删除单语句后的换行符

all*_*llo 4 c++ clang-format

我正在尝试使用 clang-format 将 if 语句与同一行上的一个语句分开。

输入示例:

if(is_finished) break;
if(foo) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

clang 格式输出:

if(is_finished)
    break;
if(foo) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

想要的输出:

if(is_finished) break;
if(foo) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

与空间相关的选项似乎都不符合这种风格。

当前配置:

---
Language: Cpp 
BasedOnStyle: LLVM
IndentWidth: 8
UseTab: ForIndentation
SpaceBeforeParens: Never
BraceWrapping:
  AfterControlStatement: false
Run Code Online (Sandbox Code Playgroud)

swe*_*ish 5

相关的配置选项是AllowShortIfStatementsOnASingleLine.

选择是:

  • Never
  • WithoutElse
  • Always

https://clang.llvm.org/docs/ClangFormatStyleOptions.html