-
Notifications
You must be signed in to change notification settings - Fork 0
/
.clang-format
68 lines (65 loc) · 3.86 KB
/
.clang-format
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
Language: Cpp # 语言:C++
BasedOnStyle: GOOGLE # 基于 LLVM 样式
AccessModifierOffset: -4 # 访问修饰符偏移量
AlignConsecutiveAssignments: true # 修改:对齐连续的赋值语句,提高可读性
AlignConsecutiveDeclarations: true # 修改:对齐连续的声明语句,提高可读性
AlignOperands: false # 不对齐操作数
AlignTrailingComments: true # 对齐尾随注释
AllowShortBlocksOnASingleLine: true
AlwaysBreakTemplateDeclarations: Yes # 始终在模板声明后换行
BraceWrapping: # 大括号换行设置
AfterCaseLabel: false # 不在 case 标签后换行
AfterClass: false # 不在类声明后换行
AfterControlStatement: false # 不在控制语句后换行
AfterEnum: false # 不在枚举声明后换行
AfterFunction: false # 不在函数声明后换行
AfterNamespace: false # 不在命名空间声明后换行
AfterStruct: false # 不在结构体声明后换行
AfterUnion: false # 不在联合体声明后换行
AfterExternBlock: false # 不在 extern 块后换行
BeforeCatch: true # 在 catch 之前换行
BeforeElse: true # 在 else 之前换行
BeforeLambdaBody: false # 不在 lambda 体之前换行
BeforeWhile: true # 在 while 之前换行
SplitEmptyFunction: false # 不拆分空函数
SplitEmptyRecord: false # 不拆分空记录
SplitEmptyNamespace: false # 不拆分空命名空间
BreakBeforeBraces: Custom # 自定义大括号换行
BreakConstructorInitializers: AfterColon # 在冒号后换行
BreakConstructorInitializersBeforeComma: false # 不在逗号前换行
ColumnLimit: 80 # 修改:列宽限制为 80,避免过长的代码行,提升可读性
ConstructorInitializerAllOnOneLineOrOnePerLine: true # 修改:构造函数初始化列表每行一个,遵循 CSE 428 规范
ContinuationIndentWidth: 8 # 续行缩进宽度
IncludeCategories: # 包含文件类别
- Regex: '^<.*' # 正则表达式:匹配以 < 开头的文件
Priority: 1 # 优先级:1
- Regex: '^".*' # 正则表达式:匹配以 " 开头的文件
Priority: 2 # 优先级:2
- Regex: '.*' # 正则表达式:匹配所有文件
Priority: 3 # 优先级:3
IncludeIsMainRegex: '([-_](test|unittest))?$' # 正则表达式:匹配测试文件
IndentCaseLabels: true # 缩进 case 标签
IndentWidth: 4 # 缩进宽度:4
InsertNewlineAtEOF: true # 在文件末尾插入换行符
MacroBlockBegin: '' # 宏块开始
MacroBlockEnd: '' # 宏块结束
MaxEmptyLinesToKeep: 2 # 保留的最大空行数:2
NamespaceIndentation: All # 命名空间缩进:所有
SpaceInEmptyParentheses: false # 空括号中不加空格
SpacesInAngles: false # 角括号中不加空格
SpacesInConditionalStatement: true # 修改:条件语句中加空格,提升可读性
SpacesInCStyleCastParentheses: false # C 风格强制转换括号中不加空格
SpacesInParentheses: false # 括号中不加空格
TabWidth: 4 # 制表符宽度:4
DerivePointerAlignment: false # 修改:指针对齐方式保持一致
PointerAlignment: Right # 修改:指针符号右对齐,提高指针和变量的关联性
...
# 修改说明
# AlignConsecutiveAssignments 和 AlignConsecutiveDeclarations:启用这些设置以对齐连续的赋值和声明语句,增强代码可读性。
# AllowShortBlocksOnASingleLine:禁用短代码块在单行上的配置,防止代码变得混乱。
# BraceWrapping:调整了大括号换行设置,增加了在类、控制语句、结构体等之后换行的配置,符合CSE 428规范,增加代码块的清晰度。
# ColumnLimit:将列宽限制为 80,避免过长的代码行。
# ConstructorInitializerAllOnOneLineOrOnePerLine:构造函数初始化列表每行一个,便于阅读和调试。
# SpacesInConditionalStatement:在条件语句中加空格,提高代码可读性。
# PointerAlignment:将指针符号对齐到右侧,确保指针和变量的关联更明确。