clang-format 默认规则及注释
源文件下载链接:https://wwbx.lanzoul.com/iA6OL0ypprli
AccessModifierOffset: 0 # 访问限定符偏移量
AlignAfterOpenBracket: Align # 左括号后对齐方式(Align:对齐、DontAlign:不对齐、DontAlignWithParentheses:不与括号对齐)
AlignConsecutiveAssignments: false # 连续赋值对齐
AlignConsecutiveDeclarations: false # 连续声明对齐
AlignEscapedNewlinesLeft: false # 左对齐多行字符常量
AlignOperands: true # 运算符对齐
AlignTrailingComments: true # 尾注释对齐
AllowAllParametersOfDeclarationOnNextLine: true # 允许在下一行放置声明中的所有参数
AllowAllArgumentsOnNextLine: true # 允许在下一行放置函数调用中的所有参数
AllowAllConstructorInitializersOnNextLine: true # 允许在下一行放置构造函数的所有初始化列表项
AllowAllParametersOnNextLine: true # 允许在下一行放置函数声明中的所有参数
AllowShortBlocksOnASingleLine: false # 允许将短块放在一行上
AllowShortCaseLabelsOnASingleLine: false # 允许将短 case 标签放在一行上
AllowShortFunctionsOnASingleLine: None # 允许将短函数放在一行上(None、InlineOnly、Empty、Inline、All)
AllowShortIfStatementsOnASingleLine: true # 允许将短 if 语句放在一行上
AllowShortLoopsOnASingleLine: false # 允许将短循环放在一行上
AlwaysBreakAfterDefinitionReturnType: None # 在函数定义中返回类型后始终断行(None:不断行、All:全部断行、TopLevel:仅在顶层定义处断行)
AlwaysBreakAfterReturnType: None # 在返回类型后始终断行(None:不断行、All:全部断行、TopLevel:仅在顶层定义处断行)
AlwaysBreakBeforeMultilineStrings: false # 总是在多行字符串之前断行
AlwaysBreakTemplateDeclarations: true # 总是在模板声明之前断行
BinPackArguments: true # 对函数参数进行二进制包装
BinPackParameters: true # 对函数参数进行二进制包装
BraceWrapping: # 大括号换行规则
AfterClass: false # 类定义后断行
AfterControlStatement: false # 控制语句后断行
AfterEnum: false # 枚举定义后断行
AfterFunction: false # 函数定义后断行
AfterNamespace: false # 命名空间定义后断行
AfterObjCDeclaration: false # Objective-C 定义后断行
AfterStruct: false # 结构体定义后断行
AfterUnion: false # 联合体定义后断行
AfterExternBlock: false # extern 块定义后断行
BeforeCatch: true # catch 语句前断行
BeforeElse: true # else 语句前断行
IndentBraces: false # 缩进大括号
BreakBeforeBinaryOperators: None # 二元运算符之前总是断行(None:不断行、All:全部断行、NonAssignment:除赋值运算符外全部断行、NonAssignmentAndNonMember:除成员运算符和赋值运算符外全部断行)
BreakBeforeBraces: Custom # 在括号前断行方式(Custom:自定义、Attach:连接、Linux:Linux 风格、Mozilla:Mozilla 风格)
BreakBeforeInheritanceComma: false # 继承列表中的逗号之前总是断行
BreakBeforeTernaryOperators: true # 三元运算符之前总是断行
BreakConstructorInitializersBeforeComma: false # 构造函数初始化列表中的逗号之前总是断行
BreakConstructorInitializers: BeforeColon # 构造函数初始化列表断行方式(BeforeColon:冒号前断行、BeforeComma:逗号前断行、AfterColon:冒号后断行)
BreakInheritanceListBeforeComma: false # 继承列表中的逗号之前总是断行
BreakStringLiterals: false # 字符串文字文本断行
ColumnLimit: 80 # 列限制
CommentPragmas: '^ IWYU pragma:' # 注释指令
CompactNamespaces: false # 命名空间压缩
ConstructorInitializerAllOnOneLineOrOnePerLine: false # 构造函数初始化列表所有项都在同一行或每行一个
ConstructorInitializerIndentWidth: 4 # 构造函数初始化项缩进宽度
ContinuationIndentWidth: 4 # 连续缩进宽度
Cpp11BracedListStyle: false # C++11 大括号列表风格 (false:类似 C++03 风格, true:类似 initializer_list 风格)
DerivePointerAlignment: false # 派生指针对齐
DisableFormat: false # 禁用格式化
ExperimentalAllowAllParametersOfNestedTemplateCalls: true # 允许嵌套模板调用中所有参数
ExperimentalAutoDetectBinPacking: false # 实验性地自动检测二进制包装
FixNamespaceComments: true # 修复命名空间注释
ForEachMacros: [foreach, Q_FOREACH, BOOST_FOREACH] # foreach 宏
IncludeBlocks: Preserve # include 块(Preserve:保留原始块结构、Merge:合并多个块到一个、Regroup:将块中的包含文件按优先级重新组合)
IncludeCategories: # include 类别
- Regex: '^