常用clang-format配置

语言: None, Cpp, Java, JavaScript, ObjC, Proto, TableGen, TextProto

Language: Cpp
BasedOnStyle: LLVM

访问说明符(public、private等)的偏移

AccessModifierOffset: -4

开括号(开圆括号、开尖括号、开方括号)后的对齐: Align, DontAlign, AlwaysBreak(总是在开括号后换行)

AlignAfterOpenBracket: Align

JSON 元素换行

BreakArrays: false

对齐数组列

AlignArrayOfStructures: Left

连续赋值时,对齐所有等号

AlignConsecutiveAssignments: None

对齐连续位字段

AlignConsecutiveBitFields: AcrossEmptyLines

连续声明时,对齐所有声明的变量名

AlignConsecutiveDeclarations: None

对齐连续宏定义

AlignConsecutiveMacros: AcrossEmptyLinesAndComments

AlignConsecutiveMacros: AcrossComments

逃脱换行(使用反斜杠换行)的反斜杠

AlignEscapedNewlines: Left

操作数对齐方式

AlignOperands: true

尾随的注释对齐

AlignTrailingComments: Always

AlignTrailingComments: false

允许函数参数在一行

AllowAllArgumentsOnNextLine: true

允许函数声明的所有参数在放在一行

AllowAllParametersOfDeclarationOnNextLine: true

AllowAllParametersOfDeclarationOnNextLine: false

允许短的块放在同一行

AllowShortBlocksOnASingleLine: Never

允许短的case标签放在同一行

AllowShortCaseLabelsOnASingleLine: false

允许短的枚举放在同一行

AllowShortEnumsOnASingleLine: false

允许短的函数放在同一行

AllowShortFunctionsOnASingleLine: Empty

允许短的if语句保持在同一行

AllowShortIfStatementsOnASingleLine: Never

允许短的匿名函数lamda表达式放在同一行

AllowShortLambdasOnASingleLine: Empty

允许短的循环while保持在同一行

AllowShortLoopsOnASingleLine: false

LINUX

AlwaysBreakAfterDefinitionReturnType: None

总是在返回类型后换行

AlwaysBreakAfterReturnType: None

总是在多行string字面量前换行

AlwaysBreakBeforeMultilineStrings: false

总是在template声明后换行

AlwaysBreakTemplateDeclarations: MultiLine

AlwaysBreakTemplateDeclarations: No

表示函数实参要么都在同一行,要么都各自一行

BinPackArguments: true

false表示所有形参要么都在同一行,要么都各自一行

BinPackParameters: true

位域冒号对齐方式

BitFieldColonSpacing: Both

在二元运算符前换行

BreakBeforeBinaryOperators: None

在大括号前换行

BreakBeforeBraces: Linux

在concept前换行

BreakBeforeConceptDeclarations: Never

LINUX

IncludeCategories:

  • Regex: '.*'
    Priority: 1
    IncludeIsMainRegex: '(Test)?$'

在三元运算符前换行

BreakBeforeTernaryOperators: false

构造函数初始值设定项换行样式

BreakConstructorInitializers: BeforeColon

BreakConstructorInitializers: BeforeComma

继承列表样式

BreakInheritanceList: AfterColon

字符串换行样式

BreakStringLiterals: false

每行字符的限制,0表示没有限制

ColumnLimit: 100

描述具有特殊意义的注释的正则表达式,它不应该被分割为多行或以其它方式改变

CommentPragmas: '^ IWYU pragma:'

在新行上声明每个命名空间

CompactNamespaces: false

构造函数的初始化列表的缩进宽度

ConstructorInitializerIndentWidth: 4

延续的行的缩进宽度

ContinuationIndentWidth: 4

去除C++11的列表初始化的大括号{后和}前的空格

Cpp11BracedListStyle: true

Cpp11BracedListStyle: false

继承最常用的换行方式

DeriveLineEnding: false

继承最常用的指针和引用的对齐方式

DerivePointerAlignment: false

关闭格式化

DisableFormat: false

删除访问修饰符后的所有空行

EmptyLineAfterAccessModifier: Never

仅当访问修饰符开始一个新的逻辑块时才添加空行

EmptyLineBeforeAccessModifier: Never

自动检测函数的调用和定义是否被格式为每行一个参数(Experimental)

ExperimentalAutoDetectBinPacking: false

自动补充namespace注释

FixNamespaceComments: false

需要被解读为foreach循环而不是函数调用的宏

ForEachMacros: [ 'RANGES_FOR', 'FOREACH' ]

IfMacros: [ 'IF' ]

多个#include块合并在一起并排序为一个

IncludeBlocks: Merge

IncludeBlocks: Preserve

缩进访问修饰符

IndentAccessModifiers: false

缩进case标签

IndentCaseLabels: false

case 标签后面的块使用与 case 标签相同的缩进级别

IndentCaseBlocks: false

向后兼容缩进外部块

IndentExternBlock: AfterExternBlock

缩进goto标签。

IndentGotoLabels: false

缩进预处理器指令

IndentPPDirectives: BeforeHash

IndentPPDirectives: None

缩进宽度

IndentWidth: 4

函数返回类型换行时,缩进函数声明或函数定义的函数名

IndentWrappedFunctionNames: false

在控制语句(if、else、for、do和while)后插入大括号

InsertBraces: true

插入尾随逗号

InsertTrailingCommas: None

保留JavaScript字符串引号

JavaScriptQuotes: Leave

包装 JavaScript 导入/导出语句

JavaScriptWrapImports: true

保留在块开始处的空行

KeepEmptyLinesAtTheStartOfBlocks: false

相对于 lambda 签名对齐 lambda 主体

LambdaBodyIndentation: Signature

开始一个块的宏的正则表达式

MacroBlockBegin: ''

结束一个块的宏的正则表达式

MacroBlockEnd: ''

连续空行的最大数量

MaxEmptyLinesToKeep: 1

命名空间的缩进

NamespaceIndentation: All

NamespaceIndentation: None

指针的对齐: Left, Right, Middle

PointerAlignment: Right

引用的对齐

ReferenceAlignment: Pointer

允许重新排版注释

ReflowComments: true

ReflowComments: false

RemoveBracesLLVM: false

短命名空间跨越的最大展开行数

ShortNamespaceLines: 1

允许排序#include

SortIncludes: Never

java静态导入放在非静态导入之前

SortJavaStaticImport: Before

对using声明排序

SortUsingDeclarations: false

在C风格类型转换后添加空格

SpaceAfterCStyleCast: false

在!后添加空格

SpaceAfterLogicalNot: false

在Template关键字后添加空格

SpaceAfterTemplateKeyword: true

不要确保指针限定符周围有空格

SpaceAroundPointerQualifiers: Default

在赋值运算符之前添加空格

SpaceBeforeAssignmentOperators: true

不在case冒号之前添加空格

SpaceBeforeCaseColon: false

不在C++11大括号列表之前添加空格

SpaceBeforeCpp11BracedList: false

在构造函数初始化器冒号之前添加空格

SpaceBeforeCtorInitializerColon: true

在继承冒号前添加空格

SpaceBeforeInheritanceColon: true

开圆括号之前添加一个空格

SpaceBeforeParens: ControlStatements

SpaceBeforeParens: ControlStatementsExceptControlMacros

在基于范围的for循环冒号之前添加空格

SpaceBeforeRangeBasedForLoopColon: true

中括号前空格

SpaceBeforeSquareBrackets: false

{}中间空格

SpaceInEmptyBlock: false

在空的圆括号中添加空格

SpaceInEmptyParentheses: false

在尾随的评论前添加的空格数(只适用于//)

SpacesBeforeTrailingComments: 10

在尖括号的<后和>前添加空格

SpacesInAngles: Never

在C风格类型转换的括号中添加空格

SpacesInCStyleCastParentheses: false

不在if/for/switch/while条件周围插入空格

SpacesInConditionalStatement: false

在容器(ObjC和JavaScript的数组和字典等)字面量中添加空格

SpacesInContainerLiterals: true

SpacesInContainerLiterals: false

行注释开头允许有多少个空格。要禁用最大值,请将其设置为-1,除此之外,最大值优先于最小值

SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1

在圆括号的(后和)前添加空格

SpacesInParentheses: false

在方括号的[后和]前添加空格,lamda表达式和未指明大小的数组的声明不受影响

SpacesInSquareBrackets: false

标准

Standard: Auto

tab宽度

TabWidth: 4

使用\r\n换行替代\n

UseCRLF: false

删除非空函数的右大括号后的分号

RemoveSemicolon: true

指定使用空行来分隔定义块,包括类、结构、枚举和函数

SeparateDefinitionBlocks: Always

ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 4
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true

Taken from git's rules

PenaltyBreakAssignment: 10
PenaltyBreakBeforeFirstCallParameter: 30
PenaltyBreakComment: 10
PenaltyBreakFirstLessLess: 0
PenaltyBreakString: 10
PenaltyExcessCharacter: 100
PenaltyReturnTypeOnItsOwnLine: 60

UseTab: Always

使用tab字符:ForIndentation——仅将制表符用于缩进

UseTab: ForIndentation

用制表符填充所有前导空格,并使用空格来对齐出现在一行中的内容

UseTab: ForContinuationAndIndentation

使用制表符进行行延续和缩进,使用空格进行对齐

UseTab: AlignWithSpaces

UseTab: Never

posted @ 2024-12-29 17:23  麻薯好吃  阅读(486)  评论(0)    收藏  举报