| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 | 
							- ---
 
- # 语言: None, Cpp, Java, JavaScript, ObjC, Proto, TableGen, TextProto
 
- Language:        Cpp
 
- # BasedOnStyle:  LLVM
 
- # 访问说明符(public、private等)的偏移
 
- AccessModifierOffset: -4
 
- # 开括号(开圆括号、开尖括号、开方括号)后的对齐: Align, DontAlign, AlwaysBreak(总是在开括号后换行)
 
- AlignAfterOpenBracket: Align
 
- # 对齐数组列
 
- AlignArrayOfStructures: None
 
- # 对齐连续宏定义
 
- AlignConsecutiveMacros: true
 
- # 连续赋值时,对齐所有等号
 
- AlignConsecutiveAssignments: true
 
- # 对齐连续位字段
 
- AlignConsecutiveBitFields: true
 
- # 连续声明时,对齐所有声明的变量名
 
- AlignConsecutiveDeclarations: true
 
- # 左对齐逃脱换行(使用反斜杠换行)的反斜杠
 
- AlignEscapedNewlines: Right
 
- # 水平对齐二元和三元表达式的操作数
 
- AllowAllArgumentsOnNextLine: true
 
- AllowAllConstructorInitializersOnNextLine: true
 
- AlwaysBreakAfterDefinitionReturnType: None
 
- AlignOperands:   Align
 
- # 对齐连续的尾随的注释
 
- AlignTrailingComments: true
 
- # 允许函数声明的所有参数在放在下一行
 
- AllowAllParametersOfDeclarationOnNextLine: true
 
- # 允许短的枚举放在同一行
 
- AllowShortEnumsOnASingleLine: true
 
- # 允许短的块放在同一行
 
- AllowShortBlocksOnASingleLine: Never
 
- # 允许短的case标签放在同一行
 
- AllowShortCaseLabelsOnASingleLine: false
 
- # 允许短的函数放在同一行
 
- AllowShortFunctionsOnASingleLine: All
 
- # 允许短的匿名函数放在同一行
 
- AllowShortLambdasOnASingleLine: All
 
- # 允许短的if语句保持在同一行
 
- AllowShortIfStatementsOnASingleLine: Never
 
- # 允许短的循环保持在同一行
 
- AllowShortLoopsOnASingleLine: false
 
- # 总是在返回类型后换行
 
- AlwaysBreakAfterReturnType: None
 
- # 总是在多行string字面量前换行
 
- AlwaysBreakBeforeMultilineStrings: false
 
- # 总是在template声明后换行
 
- AlwaysBreakTemplateDeclarations: MultiLine
 
- AttributeMacros:
 
-   - __capability
 
- # false表示函数实参要么都在同一行,要么都各自一行
 
- BinPackArguments: true
 
- # false表示所有形参要么都在同一行,要么都各自一行
 
- BinPackParameters: true
 
- # 大括号换行,只有当BreakBeforeBraces设置为Custom时才有效
 
- BraceWrapping:
 
-   AfterCaseLabel:  false
 
-   AfterClass:      false
 
-   AfterControlStatement: Never
 
-   AfterEnum:       false
 
-   AfterFunction:   false
 
-   AfterNamespace:  false
 
-   AfterObjCDeclaration: false
 
-   AfterStruct:     false
 
-   AfterUnion:      false
 
-   AfterExternBlock: false
 
-   BeforeCatch:     false
 
-   BeforeElse:      false
 
-   BeforeLambdaBody: false
 
-   BeforeWhile:     false
 
-   IndentBraces:    false
 
-   SplitEmptyFunction: true
 
-   SplitEmptyRecord: true
 
-   SplitEmptyNamespace: true
 
- # 在二元运算符前换行
 
- BreakBeforeBinaryOperators: None
 
- # 在concept前换行
 
- BreakBeforeConceptDeclarations: true
 
- # 在大括号前换行: Attach(始终将大括号附加到周围的上下文)
 
- BreakBeforeBraces: Allman
 
- BreakBeforeInheritanceComma: false
 
- # 继承列表样式
 
- BreakInheritanceList: AfterComma
 
- # 在三元运算符前换行
 
- BreakBeforeTernaryOperators: true
 
- # 构造函数初始值设定项换行样式
 
- BreakConstructorInitializers: BeforeComma
 
- # 在java字段的注释后换行
 
- BreakAfterJavaFieldAnnotations: false
 
- # 每行字符的限制,0表示没有限制
 
- ColumnLimit:     0
 
- # 描述具有特殊意义的注释的正则表达式,它不应该被分割为多行或以其它方式改变
 
- CommentPragmas:  '^ IWYU pragma:'
 
- # 在新行上声明每个命名空间
 
- CompactNamespaces: false
 
- # 构造函数的初始化列表的缩进宽度
 
- ConstructorInitializerIndentWidth: 4
 
- # 延续的行的缩进宽度
 
- ContinuationIndentWidth: 4
 
- # 去除C++11的列表初始化的大括号{后和}前的空格
 
- Cpp11BracedListStyle: true
 
- # 继承最常用的换行方式
 
- DeriveLineEnding: true
 
- # 继承最常用的指针和引用的对齐方式
 
- DerivePointerAlignment: false
 
- # 关闭格式化
 
- DisableFormat:   false
 
- # 删除访问修饰符后的所有空行
 
- EmptyLineAfterAccessModifier: Never
 
- # 仅当访问修饰符开始一个新的逻辑块时才添加空行
 
- EmptyLineBeforeAccessModifier: LogicalBlock
 
- # 自动检测函数的调用和定义是否被格式为每行一个参数(Experimental)
 
- ExperimentalAutoDetectBinPacking: false
 
- # 自动补充namespace注释
 
- FixNamespaceComments: true
 
- # 需要被解读为foreach循环而不是函数调用的宏
 
- ForEachMacros:
 
-   - foreach
 
-   - Q_FOREACH
 
-   - BOOST_FOREACH
 
- IfMacros:
 
-   - KJ_IF_MAYBE
 
- # 多个#include块合并在一起并排序为一个
 
- IncludeBlocks:   Merge
 
- # 可以定义负数优先级从而保证某些#include永远在最前面
 
- IncludeCategories:
 
-   - Regex:           '^"(llvm|llvm-c|clang|clang-c)/'
 
-     Priority:        2
 
-     SortPriority:    0
 
-     CaseSensitive:   false
 
-   - Regex:           '^(<|"(gtest|gmock|isl|json)/)'
 
-     Priority:        3
 
-     SortPriority:    0
 
-     CaseSensitive:   false
 
-   - Regex:           '.*'
 
-     Priority:        1
 
-     SortPriority:    0
 
-     CaseSensitive:   false
 
- IncludeIsMainRegex: '(Test)?$'
 
- IncludeIsMainSourceRegex: ''
 
- # 缩进访问修饰符
 
- IndentAccessModifiers: false
 
- # 缩进case标签
 
- IndentCaseLabels: false
 
- # case 标签后面的块使用与 case 标签相同的缩进级别
 
- IndentCaseBlocks: false
 
- # 缩进goto标签。
 
- IndentGotoLabels: false
 
- # 缩进预处理器指令
 
- IndentPPDirectives: None
 
- # 向后兼容缩进外部块
 
- IndentExternBlock: AfterExternBlock
 
- # 缩进模板中的requires子句
 
- IndentRequires:  false
 
- # 缩进宽度
 
- IndentWidth:     4
 
- # 函数返回类型换行时,缩进函数声明或函数定义的函数名
 
- IndentWrappedFunctionNames: false
 
- # 插入尾随逗号
 
- InsertTrailingCommas: None
 
- # 保留JavaScript字符串引号
 
- JavaScriptQuotes: Leave
 
- # 包装 JavaScript 导入/导出语句
 
- JavaScriptWrapImports: true
 
- # 保留在块开始处的空行
 
- KeepEmptyLinesAtTheStartOfBlocks: true
 
- # 相对于 lambda 签名对齐 lambda 主体
 
- LambdaBodyIndentation: Signature
 
- # 开始一个块的宏的正则表达式
 
- MacroBlockBegin: ''
 
- # 结束一个块的宏的正则表达式
 
- MacroBlockEnd:   ''
 
- # 连续空行的最大数量
 
- MaxEmptyLinesToKeep: 1
 
- # 命名空间的缩进
 
- NamespaceIndentation: None
 
- ObjCBinPackProtocolList: Auto
 
- # 使用ObjC块时缩进宽度
 
- ObjCBlockIndentWidth: 4
 
- ObjCBreakBeforeNestedBlockParam: true
 
- # 在ObjC的@property后添加一个空格
 
- ObjCSpaceAfterProperty: false
 
- # 在ObjC的protocol列表前添加一个空格
 
- ObjCSpaceBeforeProtocolList: true
 
- PenaltyBreakAssignment: 2
 
- PenaltyBreakBeforeFirstCallParameter: 19
 
- PenaltyBreakComment: 300
 
- PenaltyBreakFirstLessLess: 120
 
- PenaltyBreakString: 1000
 
- PenaltyBreakTemplateDeclaration: 10
 
- PenaltyExcessCharacter: 1000000
 
- PenaltyReturnTypeOnItsOwnLine: 60
 
- PenaltyIndentedWhitespace: 0
 
- # 指针的对齐: Left, Right, Middle
 
- PointerAlignment: Right
 
- # 缩进预处理器语句的列数
 
- PPIndentWidth:   -1
 
- # 引用的对齐
 
- ReferenceAlignment: Pointer
 
- # 允许重新排版注释
 
- ReflowComments:  true
 
- # 短命名空间跨越的最大展开行数
 
- ShortNamespaceLines: 1
 
- # 允许排序#include
 
- SortIncludes:    true
 
- # java静态导入放在非静态导入之前
 
- SortJavaStaticImport: Before
 
- # 对using声明排序
 
- SortUsingDeclarations: true
 
- # 在C风格类型转换后添加空格
 
- SpaceAfterCStyleCast: false
 
- # 在!后添加空格
 
- SpaceAfterLogicalNot: false
 
- # 在Template关键字后添加空格
 
- SpaceAfterTemplateKeyword: true
 
- # 在赋值运算符之前添加空格
 
- SpaceBeforeAssignmentOperators: true
 
- # 不在case冒号之前添加空格
 
- SpaceBeforeCaseColon: false
 
- # 不在C++11大括号列表之前添加空格
 
- SpaceBeforeCpp11BracedList: false
 
- # 在构造函数初始化器冒号之前添加空格
 
- SpaceBeforeCtorInitializerColon: true
 
- # 在继承冒号前添加空格
 
- SpaceBeforeInheritanceColon: true
 
- # 开圆括号之前添加一个空格: Never, ControlStatements, Always
 
- SpaceBeforeParens: ControlStatements
 
- # 不要确保指针限定符周围有空格,而是使用 PointerAlignment
 
- SpaceAroundPointerQualifiers: Default
 
- # 在基于范围的for循环冒号之前添加空格
 
- SpaceBeforeRangeBasedForLoopColon: true
 
- # {}中间不添加空格
 
- SpaceInEmptyBlock: false
 
- # 在空的圆括号中添加空格
 
- SpaceInEmptyParentheses: false
 
- # 在尾随的评论前添加的空格数(只适用于//)
 
- SpacesBeforeTrailingComments: 1
 
- # 在尖括号的<后和>前添加空格
 
- SpacesInAngles:  Never
 
- # 不在if/for/switch/while条件周围插入空格
 
- SpacesInConditionalStatement: false
 
- # 在容器(ObjC和JavaScript的数组和字典等)字面量中添加空格
 
- SpacesInContainerLiterals: true
 
- # 在C风格类型转换的括号中添加空格
 
- SpacesInCStyleCastParentheses: false
 
- # 行注释开头允许有多少个空格。要禁用最大值,请将其设置为-1,除此之外,最大值优先于最小值
 
- SpacesInLineCommentPrefix:
 
-   Minimum:         1
 
-   Maximum:         -1
 
- # 在圆括号的(后和)前添加空格
 
- SpacesInParentheses: false
 
- # 在方括号的[后和]前添加空格,lamda表达式和未指明大小的数组的声明不受影响
 
- SpacesInSquareBrackets: false
 
- # 不在[前添加空格
 
- SpaceBeforeSquareBrackets: false
 
- # 位域:每边都添加空格
 
- BitFieldColonSpacing: Both
 
- # 标准
 
- Standard:        Latest
 
- # 在语句前面被忽略的宏定义,就好像它们是一个属性一样
 
- StatementAttributeLikeMacros:
 
-   - Q_EMIT
 
- # 应该被解释为完整语句的宏定义
 
- StatementMacros:
 
-   - Q_UNUSED
 
-   - QT_REQUIRE_VERSION
 
- # tab宽度
 
- TabWidth:        4
 
- # 使用\n换行
 
- UseCRLF:         false
 
- # 使用tab字符:ForIndentation——仅将制表符用于缩进
 
- UseTab:          Never
 
- # 对空格敏感的宏定义
 
- WhitespaceSensitiveMacros:
 
-   - STRINGIZE
 
-   - PP_STRINGIZE
 
-   - BOOST_PP_STRINGIZE
 
-   - NS_SWIFT_NAME
 
-   - CF_SWIFT_NAME
 
 
  |