clang-format 默認規(guī)則及注釋
源文件下載鏈接:https://wwbx.lanzoul.com/iA6OL0ypprli
AccessModifierOffset: 0 # 訪問限定符偏移量
AlignAfterOpenBracket: Align # 左括號后對齊方式(Align:對齊、DontAlign:不對齊、DontAlignWithParentheses:不與括號對齊)
AlignConsecutiveAssignments: false # 連續(xù)賦值對齊
AlignConsecutiveDeclarations: false # 連續(xù)聲明對齊
AlignEscapedNewlinesLeft: false # 左對齊多行字符常量
AlignOperands: true # 運算符對齊
AlignTrailingComments: true # 尾注釋對齊
AllowAllParametersOfDeclarationOnNextLine: true # 允許在下一行放置聲明中的所有參數(shù)
AllowAllArgumentsOnNextLine: true # 允許在下一行放置函數(shù)調(diào)用中的所有參數(shù)
AllowAllConstructorInitializersOnNextLine: true # 允許在下一行放置構造函數(shù)的所有初始化列表項
AllowAllParametersOnNextLine: true # 允許在下一行放置函數(shù)聲明中的所有參數(shù)
AllowShortBlocksOnASingleLine: false # 允許將短塊放在一行上
AllowShortCaseLabelsOnASingleLine: false # 允許將短 case 標簽放在一行上
AllowShortFunctionsOnASingleLine: None # 允許將短函數(shù)放在一行上(None、InlineOnly、Empty、Inline、All)
AllowShortIfStatementsOnASingleLine: true # 允許將短 if 語句放在一行上
AllowShortLoopsOnASingleLine: false # 允許將短循環(huán)放在一行上
AlwaysBreakAfterDefinitionReturnType: None # 在函數(shù)定義中返回類型后始終斷行(None:不斷行、All:全部斷行、TopLevel:僅在頂層定義處斷行)
AlwaysBreakAfterReturnType: None # 在返回類型后始終斷行(None:不斷行、All:全部斷行、TopLevel:僅在頂層定義處斷行)
AlwaysBreakBeforeMultilineStrings: false # 總是在多行字符串之前斷行
AlwaysBreakTemplateDeclarations: true # 總是在模板聲明之前斷行
BinPackArguments: true # 對函數(shù)參數(shù)進行二進制包裝
BinPackParameters: true # 對函數(shù)參數(shù)進行二進制包裝
BraceWrapping: # 大括號換行規(guī)則
?AfterClass: false # 類定義后斷行
?AfterControlStatement: false # 控制語句后斷行
?AfterEnum: false # 枚舉定義后斷行
?AfterFunction: false # 函數(shù)定義后斷行
?AfterNamespace: false # 命名空間定義后斷行
?AfterObjCDeclaration: false # Objective-C 定義后斷行
?AfterStruct: false # 結構體定義后斷行
?AfterUnion: false # 聯(lián)合體定義后斷行
?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 # 構造函數(shù)初始化列表中的逗號之前總是斷行
BreakConstructorInitializers: BeforeColon # 構造函數(shù)初始化列表斷行方式(BeforeColon:冒號前斷行、BeforeComma:逗號前斷行、AfterColon:冒號后斷行)
BreakInheritanceListBeforeComma: false # 繼承列表中的逗號之前總是斷行
BreakStringLiterals: false # 字符串文字文本斷行
ColumnLimit: 80 # 列限制
CommentPragmas: '^ IWYU pragma:' # 注釋指令
CompactNamespaces: false # 命名空間壓縮
ConstructorInitializerAllOnOneLineOrOnePerLine: false # 構造函數(shù)初始化列表所有項都在同一行或每行一個
ConstructorInitializerIndentWidth: 4 # 構造函數(shù)初始化項縮進寬度
ContinuationIndentWidth: 4 # 連續(xù)縮進寬度
Cpp11BracedListStyle: false # C++11 大括號列表風格 (false:類似 C++03 風格, true:類似 initializer_list 風格)
DerivePointerAlignment: false # 派生指針對齊
DisableFormat: false # 禁用格式化
ExperimentalAllowAllParametersOfNestedTemplateCalls: true # 允許嵌套模板調(diào)用中所有參數(shù)
ExperimentalAutoDetectBinPacking: false # 實驗性地自動檢測二進制包裝
FixNamespaceComments: true # 修復命名空間注釋
ForEachMacros: [foreach, Q_FOREACH, BOOST_FOREACH] # foreach 宏
IncludeBlocks: Preserve # include 塊(Preserve:保留原始塊結構、Merge:合并多個塊到一個、Regroup:將塊中的包含文件按優(yōu)先級重新組合)
IncludeCategories: # include 類別
?- Regex: '^