【clang-format】Windows11下代码格式化工具clang-format.exe下载以及配置

clang-format的下载以及环境变量配置

官方项目地址:https://github.com/llvm/llvm-project/releases

image

下滑找到win64.exe
image

下载慢的可以去这个github代下网站:https://d.serctl.com/
下载好后不用安装,直接解压这个exe文件
image

把目录bin里面的clang-format.exe文件复制出来,放到一个新文件夹里,比如我放到了D盘根目录下
image

这里直接贴一个clang-format.exe下载地址
密码:1h2a

下载好后添加环境变量
image

image
image
image

新建空行填的就是clang-format.exe文件的路径,你放哪里就写哪里,我放D盘根目录,所以这样写

D:\clang-format

然后一路点确定,然后打开cmd试一下
image

输入

clang-format --version

显示版本号就算成功了

image


clang-format文件配置

官方文档:https://clang.llvm.org/docs/ClangFormat.html

1.两种代码风格,喜欢哪个用哪个,K&R风格是大括号不换行,Allman风格是大括号换行
image

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: AllIfsAndElse

# 允许短匿Lambda函数在单行上
AllowShortLambdasOnASingleLine: All

# 允许合并短循环到单行上
AllowShortLoopsOnASingleLine: true

# 控制行宽,避免行太长
ColumnLimit: 80
 
# 控制空格和标点符号风格
SpaceBeforeParens: ControlStatements  # 控制语句的括号前有空格
SpaceBeforeAssignmentOperators: true  # 赋值操作符前插入空格
 
# 缩进设置
IndentWidth: 4  # 使用4个空格缩进
 
# 控制每行最大空行数(避免空行过多)
MaxEmptyLinesToKeep: 1
 
# 注释前保留一个空格
SpacesBeforeTrailingComments: 1  

参考链接:

  1. https://zhuanlan.zhihu.com/p/720080149
  2. https://blog.csdn.net/wanlong1215/article/details/109509053
  3. https://blog.csdn.net/qq_38781075/article/details/133397553
  4. https://blog.csdn.net/weixin_55881133/article/details/142289410
  5. https://blog.csdn.net/weixin_43717839/article/details/129382657
posted @   Tshaxz  阅读(195)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
Language: HTML
点击右上角即可分享
微信分享提示