clangformat配置参考

指剑问道 / 2024-09-26 / 原文

---
 # 语言: None, Cpp, Java, JavaScript, ObjC, Proto, TableGen, TextProto
 Language: Cpp
 # 开括号(开圆括号、开尖括号、开方括号)后的对齐: Align, DontAlign, AlwaysBreak(总是在开括号后换行)
 AlignAfterOpenBracket: Align
 # 使用tab字符: Never, ForIndentation, ForContinuationAndIndentation, Always
 UseTab: Never
 # 缩进宽度
 IndentWidth: 4
 # 在尖括号的<后和>前添加空格
 SpacesInAngles:true
 # 允许短的块放在同一行
 AllowShortBlocksOnASingleLine: false
 # 对齐连续的尾随的注释
 AlignTrailingComments: true
 # 允许短的case标签放在同一行
 AllowShortCaseLabelsOnASingleLine: false
 # 允许短的函数放在同一行: None, InlineOnly(定义在类中), Empty(空函数), Inline(定义在类中,空函数), All
 AllowShortFunctionsOnASingleLine: Empty
 # 允许短的if语句保持在同一行
 AllowShortIfStatementsOnASingleLine: false
 # 允许短的循环保持在同一行
 AllowShortLoopsOnASingleLine:false

 BreakBeforeBraces: Custom
 # 大括号换行,只有当BreakBeforeBraces设置为Custom时才有效
 BraceWrapping:   
   # class定义后面
  AfterClass: false
   # 控制语句后面
  AfterControlStatement: false
   # enum定义后面
  AfterEnum: false
   # 函数定义后面
  AfterFunction: true
   # 命名空间定义后面
  AfterNamespace: false
 # ObjC定义后面
  AfterObjCDeclaration: false
 # struct定义后面
  AfterStruct: false
 # union定义后面
  AfterUnion: false
 # catch之前
  BeforeCatch: true
 # else之前
  BeforeElse: true
 # 缩进大括号
  IndentBraces: false
 # 每行字符的限制,0表示没有限制
 ColumnLimit: 120
 # 缩进case标签
 IndentCaseLabels: true
 # 连续空行的最大数量
 MaxEmptyLinesToKeep: 1
 # 保留在块开始处的空行
 KeepEmptyLinesAtTheStartOfBlocks: true


https://www.jianshu.com/p/5dea6bdbbabb