clang-format文件配置

clang-format的下载以及环境变量配置
官方项目地址:https://github.com/llvm/llvm-project/releases
下滑找到win64.exe
下载慢的可以去这个github代下网站:https://d.serctl.com/
下载好后不用安装,直接解压这个exe文件
把目录bin里面的clang-format.exe文件复制出来,放到一个新文件夹里,比如我放到了D盘根目录下
这里直接贴一个clang-format.exe的下载地址
密码:1h2a
下载好后添加环境变量
新建空行填的就是clang-format.exe文件的路径,你放哪里就写哪里,我放D盘根目录,所以这样写
D:\clang-format
然后一路点确定,然后打开cmd试一下
输入
clang-format --version
显示版本号就算成功了
clang-format文件配置
官方文档:https://clang.llvm.org/docs/ClangFormat.html
1.两种代码风格,喜欢哪个用哪个,K&R风格是大括号不换行,Allman风格是大括号换行
2.我个人用的是Allman风格,配置文件直接用了网上现成的。喜欢大括号不换行的把BreakBeforeBraces: Allman删掉,默认就是大括号不换行的K&R风格。
3.行宽ColumnLimit默认是80,如果读者用的是大显示屏可以调高到120~150
4.想进一步自定义的读者可以去这个文章找对应的细分条目
下面给出我自己的配置文件
# LLVM Google
BasedOnStyle: Google
# 强制花括号遵循 Allman 风格
BreakBeforeBraces: Allman
Language: Cpp
# 对齐连续的宏定义
AlignConsecutiveMacros: AcrossEmptyLinesAndComments
# 对齐尾部注释
AlignTrailingComments: Leave
# 访问修饰符偏移
AccessModifierOffset: -4 # -4就是public顶格
# 允许短函数在单行上
AllowShortFunctionsOnASingleLine: Empty
# 允许短语法块在单行上
AllowShortBlocksOnASingleLine: Empty
# 总是把短语句放在单行上
AllowShortIfStatementsOnASingleLine: WithoutElse
# 允许短匿Lambda函数在单行上
AllowShortLambdasOnASingleLine: All
# 允许合并短循环到单行上
AllowShortLoopsOnASingleLine: true
# 控制行宽,避免行太长
ColumnLimit: 80
# 对头文件排序
SortIncludes: Never
# 控制空格和标点符号风格
SpaceBeforeParens: ControlStatements # 控制语句的括号前有空格
SpaceBeforeAssignmentOperators: true # 赋值操作符前插入空格
# 缩进设置
IndentWidth: 4 # 使用4个空格缩进
# 控制每行最大空行数(避免空行过多)
MaxEmptyLinesToKeep: 1
# 注释前保留一个空格
SpacesBeforeTrailingComments: 1
参考链接:
https://zhuanlan.zhihu.com/p/720080149
https://blog.csdn.net/wanlong1215/article/details/109509053
https://blog.csdn.net/qq_38781075/article/details/133397553
https://blog.csdn.net/weixin_55881133/article/details/142289410
https://blog.csdn.net/weixin_43717839/article/details/129382657