1bafb9395Sopenharmony_ciLanguage: Cpp 2bafb9395Sopenharmony_ci# BasedOnStyle: LLVM 3bafb9395Sopenharmony_ci# 访问说明符(public、private等)的偏移 4bafb9395Sopenharmony_ciAccessModifierOffset: -4 5bafb9395Sopenharmony_ci# 开括号(开圆括号、开尖括号、开方括号)后的对齐 6bafb9395Sopenharmony_ciAlignAfterOpenBracket: Align 7bafb9395Sopenharmony_ci# 连续赋值时,等号对齐 8bafb9395Sopenharmony_ciAlignConsecutiveAssignments: false 9bafb9395Sopenharmony_ci# 连续赋值时,变量名对齐 10bafb9395Sopenharmony_ciAlignConsecutiveDeclarations: false 11bafb9395Sopenharmony_ci# 左对齐逃脱换行(使用反斜杠换行)的反斜杠 12bafb9395Sopenharmony_ciAlignEscapedNewlinesLeft: true 13bafb9395Sopenharmony_ci# 水平对齐二元和三元表达式的操作数 14bafb9395Sopenharmony_ciAlignOperands: true 15bafb9395Sopenharmony_ci# 对齐连续的尾随的注释 16bafb9395Sopenharmony_ciAlignTrailingComments: true 17bafb9395Sopenharmony_ci# 允许函数声明的所有参数在放在下一行 18bafb9395Sopenharmony_ciAllowAllParametersOfDeclarationOnNextLine: false 19bafb9395Sopenharmony_ci# 允许短的块放在同一行 20bafb9395Sopenharmony_ciAllowShortBlocksOnASingleLine: false 21bafb9395Sopenharmony_ci# 允许短的case标签放在同一行 22bafb9395Sopenharmony_ciAllowShortCaseLabelsOnASingleLine: false 23bafb9395Sopenharmony_ci# 允许短的函数放在同一行: None, InlineOnly(定义在类中), Empty(空函数), Inline(定义在类中,空函数), All 24bafb9395Sopenharmony_ciAllowShortFunctionsOnASingleLine: Empty 25bafb9395Sopenharmony_ci# 允许短的if语句保持在同一行 26bafb9395Sopenharmony_ciAllowShortIfStatementsOnASingleLine: false 27bafb9395Sopenharmony_ci# 允许短的循环保持在同一行 28bafb9395Sopenharmony_ciAllowShortLoopsOnASingleLine: false 29bafb9395Sopenharmony_ci# 总是在定义返回类型后换行(deprecated) 30bafb9395Sopenharmony_ciAlwaysBreakAfterDefinitionReturnType: None 31bafb9395Sopenharmony_ci# 总是在返回类型后换行: None, All, TopLevel(顶级函数,不包括在类中的函数), 32bafb9395Sopenharmony_ci# AllDefinitions(所有的定义,不包括声明), TopLevelDefinitions(所有的顶级函数的定义) 33bafb9395Sopenharmony_ciAlwaysBreakAfterReturnType: None 34bafb9395Sopenharmony_ci# 总是在多行string字面量前换行 35bafb9395Sopenharmony_ciAlwaysBreakBeforeMultilineStrings: true 36bafb9395Sopenharmony_ci# 总是在template声明后换行 37bafb9395Sopenharmony_ciAlwaysBreakTemplateDeclarations: false 38bafb9395Sopenharmony_ci# false表示函数实参要么都在同一行,要么都各自一行 39bafb9395Sopenharmony_ciBinPackArguments: true 40bafb9395Sopenharmony_ci# false表示所有形参要么都在同一行,要么都各自一行 41bafb9395Sopenharmony_ciBinPackParameters: false 42bafb9395Sopenharmony_ci# 大括号换行,只有当BreakBeforeBraces设置为Custom时才有效 43bafb9395Sopenharmony_ciBraceWrapping: 44bafb9395Sopenharmony_ci AfterClass: false 45bafb9395Sopenharmony_ci AfterControlStatement: false 46bafb9395Sopenharmony_ci AfterEnum: false 47bafb9395Sopenharmony_ci AfterFunction: true 48bafb9395Sopenharmony_ci AfterNamespace: false 49bafb9395Sopenharmony_ci AfterObjCDeclaration: false 50bafb9395Sopenharmony_ci AfterStruct: false 51bafb9395Sopenharmony_ci AfterUnion: false 52bafb9395Sopenharmony_ci BeforeCatch: false 53bafb9395Sopenharmony_ci BeforeElse: false 54bafb9395Sopenharmony_ci IndentBraces: false 55bafb9395Sopenharmony_ci# 在二元运算符前换行: None(在操作符后换行), NonAssignment(在非赋值的操作符前换行), All(在操作符前换行) 56bafb9395Sopenharmony_ciBreakBeforeBinaryOperators: None 57bafb9395Sopenharmony_ci# 在大括号前换行: Attach(始终将大括号附加到周围的上下文), Linux(除函数、命名空间和类定义,与Attach类似), 58bafb9395Sopenharmony_ci# Mozilla(除枚举、函数、记录定义,与Attach类似), Stroustrup(除函数定义、catch、else,与Attach类似), 59bafb9395Sopenharmony_ci# Allman(总是在大括号前换行), GNU(总是在大括号前换行,并对于控制语句的大括号增加额外的缩进), WebKit(在函数前换行), Custom 60bafb9395Sopenharmony_ci# 注:这里认为语句块也属于函数 61bafb9395Sopenharmony_ciBreakBeforeBraces: Custom 62bafb9395Sopenharmony_ci# 在三元运算符前换行 63bafb9395Sopenharmony_ciBreakBeforeTernaryOperators: true 64bafb9395Sopenharmony_ci# 在构造函数的初始化列表的逗号前换行 65bafb9395Sopenharmony_ciBreakConstructorInitializersBeforeComma: false 66bafb9395Sopenharmony_ci# 每行字符的限制,0表示没有限制 67bafb9395Sopenharmony_ciColumnLimit: 120 68bafb9395Sopenharmony_ci# 描述具有特殊意义的注释的正则表达式,它不应该被分割为多行或以其它方式改变 69bafb9395Sopenharmony_ciCommentPragmas: "^ IWYU pragma:" 70bafb9395Sopenharmony_ci# 构造函数的初始化列表要么都在同一行,要么都各自一行 71bafb9395Sopenharmony_ciConstructorInitializerAllOnOneLineOrOnePerLine: true 72bafb9395Sopenharmony_ci# 构造函数的初始化列表的缩进宽度 73bafb9395Sopenharmony_ciConstructorInitializerIndentWidth: 4 74bafb9395Sopenharmony_ci# 延续的行的缩进宽度 75bafb9395Sopenharmony_ciContinuationIndentWidth: 4 76bafb9395Sopenharmony_ci# 去除C++11的列表初始化的大括号{后和}前的空格 77bafb9395Sopenharmony_ciCpp11BracedListStyle: true 78bafb9395Sopenharmony_ci# 继承最常用的指针和引用的对齐方式 79bafb9395Sopenharmony_ciDerivePointerAlignment: false 80bafb9395Sopenharmony_ci# 关闭格式化 81bafb9395Sopenharmony_ciDisableFormat: false 82bafb9395Sopenharmony_ci# 自动检测函数的调用和定义是否被格式为每行一个参数(Experimental) 83bafb9395Sopenharmony_ciExperimentalAutoDetectBinPacking: false 84bafb9395Sopenharmony_ci# 需要被解读为foreach循环而不是函数调用的宏 85bafb9395Sopenharmony_ciForEachMacros: [foreach, Q_FOREACH, BOOST_FOREACH] 86bafb9395Sopenharmony_ci# 对#include进行排序,匹配了某正则表达式的#include拥有对应的优先级,匹配不到的则默认优先级为INT_MAX(优先级越小排序越靠前), 87bafb9395Sopenharmony_ci# 可以定义负数优先级从而保证某些#include永远在最前面 88bafb9395Sopenharmony_ciIncludeCategories: 89bafb9395Sopenharmony_ci - Regex: '^"(llvm|llvm-c|clang|clang-c)/' 90bafb9395Sopenharmony_ci Priority: 2 91bafb9395Sopenharmony_ci - Regex: '^(<|"(gtest|isl|json)/)' 92bafb9395Sopenharmony_ci Priority: 3 93bafb9395Sopenharmony_ci - Regex: ".*" 94bafb9395Sopenharmony_ci Priority: 1 95bafb9395Sopenharmony_ci# 缩进case标签 96bafb9395Sopenharmony_ciIndentCaseLabels: true 97bafb9395Sopenharmony_ci# 缩进宽度 98bafb9395Sopenharmony_ciIndentWidth: 4 99bafb9395Sopenharmony_ci# 函数返回类型换行时,缩进函数声明或函数定义的函数名 100bafb9395Sopenharmony_ciIndentWrappedFunctionNames: true 101bafb9395Sopenharmony_ci# 保留在块开始处的空行 102bafb9395Sopenharmony_ciKeepEmptyLinesAtTheStartOfBlocks: true 103bafb9395Sopenharmony_ci# 开始一个块的宏的正则表达式 104bafb9395Sopenharmony_ciMacroBlockBegin: "" 105bafb9395Sopenharmony_ci# 结束一个块的宏的正则表达式 106bafb9395Sopenharmony_ciMacroBlockEnd: "" 107bafb9395Sopenharmony_ci# 连续空行的最大数量 108bafb9395Sopenharmony_ciMaxEmptyLinesToKeep: 1 109bafb9395Sopenharmony_ci# 命名空间的缩进: None, Inner(缩进嵌套的命名空间中的内容), All 110bafb9395Sopenharmony_ciNamespaceIndentation: None 111bafb9395Sopenharmony_ci# 使用ObjC块时缩进宽度 112bafb9395Sopenharmony_ciObjCBlockIndentWidth: 4 113bafb9395Sopenharmony_ci# 在ObjC的@property后添加一个空格 114bafb9395Sopenharmony_ciObjCSpaceAfterProperty: false 115bafb9395Sopenharmony_ci# 在ObjC的protocol列表前添加一个空格 116bafb9395Sopenharmony_ciObjCSpaceBeforeProtocolList: true 117bafb9395Sopenharmony_ci# 在call(后对函数调用换行的penalty 118bafb9395Sopenharmony_ciPenaltyBreakBeforeFirstCallParameter: 19 119bafb9395Sopenharmony_ci# 在一个注释中引入换行的penalty 120bafb9395Sopenharmony_ciPenaltyBreakComment: 300 121bafb9395Sopenharmony_ci# 第一次在<<前换行的penalty 122bafb9395Sopenharmony_ciPenaltyBreakFirstLessLess: 120 123bafb9395Sopenharmony_ci# 在一个字符串字面量中引入换行的penalty 124bafb9395Sopenharmony_ciPenaltyBreakString: 1000 125bafb9395Sopenharmony_ci# 对于每个在行字符数限制之外的字符的penalt 126bafb9395Sopenharmony_ciPenaltyExcessCharacter: 1000000 127bafb9395Sopenharmony_ci# 将函数的返回类型放到它自己的行的penalty 128bafb9395Sopenharmony_ciPenaltyReturnTypeOnItsOwnLine: 60 129bafb9395Sopenharmony_ci# 指针和引用的对齐: Left, Right, Middle 130bafb9395Sopenharmony_ciPointerAlignment: Left 131bafb9395Sopenharmony_ci# 允许重新排版注释 132bafb9395Sopenharmony_ciReflowComments: true 133bafb9395Sopenharmony_ci# 允许排序#include 134bafb9395Sopenharmony_ciSortIncludes: true 135bafb9395Sopenharmony_ci# 在C风格类型转换后添加空格 136bafb9395Sopenharmony_ciSpaceAfterCStyleCast: false 137bafb9395Sopenharmony_ci# 在赋值运算符之前添加空格 138bafb9395Sopenharmony_ciSpaceBeforeAssignmentOperators: true 139bafb9395Sopenharmony_ci# 开圆括号之前添加一个空格: Never, ControlStatements, Always 140bafb9395Sopenharmony_ciSpaceBeforeParens: ControlStatements 141bafb9395Sopenharmony_ci# 在空的圆括号中添加空格 142bafb9395Sopenharmony_ciSpaceInEmptyParentheses: false 143bafb9395Sopenharmony_ci# 在尾随的评论前添加的空格数(只适用于//) 144bafb9395Sopenharmony_ciSpacesBeforeTrailingComments: 1 145bafb9395Sopenharmony_ci# 在尖括号的<后和>前添加空格 146bafb9395Sopenharmony_ciSpacesInAngles: false 147bafb9395Sopenharmony_ci# 在容器(ObjC和JavaScript的数组和字典等)字面量中添加空格 148bafb9395Sopenharmony_ciSpacesInContainerLiterals: true 149bafb9395Sopenharmony_ci# 在C风格类型转换的括号中添加空格 150bafb9395Sopenharmony_ciSpacesInCStyleCastParentheses: false 151bafb9395Sopenharmony_ci# 在圆括号的(后和)前添加空格 152bafb9395Sopenharmony_ciSpacesInParentheses: false 153bafb9395Sopenharmony_ci# 在方括号的[后和]前添加空格,lamda表达式和未指明大小的数组的声明不受影响 154bafb9395Sopenharmony_ciSpacesInSquareBrackets: false 155bafb9395Sopenharmony_ci# 标准: Cpp03, Cpp11, Auto 156bafb9395Sopenharmony_ciStandard: Cpp11 157bafb9395Sopenharmony_ci# tab宽度 158bafb9395Sopenharmony_ciTabWidth: 4 159bafb9395Sopenharmony_ci# 使用tab字符: Never, ForIndentation, ForContinuationAndIndentation, Always 160bafb9395Sopenharmony_ciUseTab: Never 161