【clang-format】C++代码风格自用配置文件,大括号换行风格

news/2025/1/20 0:57:22/文章来源:https://www.cnblogs.com/Tshaxz/p/18680602

使用方法:
新建一个文本文件,把下面代码复制进去,再把名字改成.clang-format,然后粘贴到项目文件夹的根目录下即可,效果如下图。
image

当然,IDE需要设置启用clang-format


clang-format文件内容

# LLVM  Google
BasedOnStyle: Google
Language: Cpp# 强制花括号遵循 Allman 风格
BreakBeforeBraces: Allman# 允许短函数在单行上
AllowShortFunctionsOnASingleLine: Empty #只让空函数在单行上# 允许短语法块在单行上
AllowShortBlocksOnASingleLine: Empty # 只合并空块到单行上。# 允许if块在单行上
AllowShortIfStatementsOnASingleLine: AllIfsAndElse  # 总是把短语句放在单行上# 对齐连续的宏定义
AlignConsecutiveMacros: AcrossEmptyLinesAndComments# 访问修饰符偏移 
AccessModifierOffset: -4 # -4就是public顶格# 控制行宽,避免行太长
ColumnLimit: 120# 控制空格和标点符号风格
SpaceBeforeParens: ControlStatements  # 控制语句的括号前有空格
SpaceBeforeAssignmentOperators: true  # 赋值操作符前插入空格# 缩进设置
IndentWidth: 4  # 使用4个空格缩进# 控制每行最大空行数(避免空行过多)
MaxEmptyLinesToKeep: 1# 启用注释对齐,注释前保留一个空格
AlignTrailingComments: true  
SpacesBeforeTrailingComments: 1  # 对齐转义的换行符到左侧
AlignEscapedNewlinesLeft: true# 允许将参数换行,但保持多个参数在同一行(打包参数)
AllowAllParametersOfDeclarationOnNextLine: true
BinPackParameters: true  # 启用参数打包,减少换行次数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/871945.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【clang-format】vscodeC++调整代码格式时让public顶格

习惯了leetcode里面public顶格写,vscode格式化代码public不顶格看着难受。 如图:只要在.clang-format文件中添加下面这行就行 # 访问修饰符偏移 AccessModifierOffset: -4 # -4就是public顶格如果是用vscode插件配置的: "C_Cpp.clang_format_style": "{Base…

基于反射实现的零GC高效率Unity组件绑定

前言 我是狗猥,上一世,我使用传统方式绑定UI上的组件,却因xLua扩展代码太多撑爆丹田沦为废人,失去了争夺主程岗位的资格,最后在测试同学的讥笑声中饮恨西北。 再次睁开眼,我穿越回到了拼UI的那一天。重生归来,这一世我要设计一个船新的绑定方式,夺回本就属于我的一切!…

XML+propties

txt文件,properties(属性)文件,XMl文件txt与properties与XML的区别当这些文件存储单个关系数据时, 普通文件 无法存储 关系数据,而properties属性文件以键值对形式存储就很方便,XML文件也可以 见图1 但储存多个用户就不行了,XML更适合, 见图2properties集合properties …

一条SQL更新语句是如何执行的?

与查询流程不同的是,更新流程中会涉及两个重要的模块: (i)redo_log模块(InnoDB中的日志模块):在 MySQL 里也有这么个问题,如果每一次的更新操作都需要写进磁盘,然后磁盘也要找到对应的那条记录,然后再更新,整个过程 IO 成本、查找成本都很高。为了解决这个问题,MyS…

大模型分布式训练并行技术(五)-序列并行

p { font-size: 12pt; line-height: 2 !important } 参考资料 大模型分布式训练并行技术(五)-序列并行 详解MegatronLM序列模型并行训练(Sequence Parallel)一、序列并行(Colossal-AI)背景 Colossal-AI 序列并行诞生的背景是 self-attention 的内存需求是输入长度(sequenc…

1.匿名内部类

使用场景不用多创建类,来使用其方法定义 匿名内部类的语法比较奇特,匿名内部类既是一个类的定义,同时他本身也是一个对象, 所以子类继承抽象类, 实现类实现接口,需要节省内存不创建类,从而创建匿名内部类 例子使用当你的才华配不上你的野心,努力的时候到了!

Arrays 排序

正常来说 Arrays可以用于数组排序, 但如果数组里面是引用类型地址就会报错,这时候, 就需要加个功能(实现接口/继承接口) Comparable接口来定引用类型对象的排序规则(以..属性值进行排序)正常Arrays.sort( 数组对象)进行排序时 , 会在排序的时候将数组对象进行调用comparato方…

Spring Boot 自动配置原理详解

引言 Spring Boot 的一大亮点是它能够自动配置(Auto-Configuration)Spring应用程序,极大地简化了Spring应用的创建过程。开发者只需添加所需的依赖,Spring Boot就会根据这些依赖和一些预设条件自动装配相应的组件,从而减少了大量样板代码的编写。 第三方组件的集成方式 对…

传奇

毋庸置疑,很多人的心里,都有一个传奇、传奇3,80后、90后,甚至70后尤甚。当然也包括我。主要当然因我曾经是盛大游戏传奇工作室研发团队的一员,且是盛大传奇3项目部的第一个程序技术人员,内心对传奇、传奇3的感情非同一般。因工作等原因,我早已不再从事传奇类游戏的开发研…

常用工具

类似gdb的bash调试工具bashdb: https://sourceforge.net/projects/bashdb/files/bashdb/ 非常好用,结合vscode bashdb(bash debug) shift + command + d,配置 .vscode/launch.json

《CPython Internals》阅读笔记:p232-p249

《CPython Internals》学习第 13天,p232-p249 总结,总计 18 页。 一、技术总结 无。 二、英语总结(生词:1) 1.overhead (1)overhead: over-("above") + head(“top part, uppermost section”) overhead的字面意思是:above the head,后来演变成"represent …

2025春秋杯冬季赛MISC部分题目复现

简单算术 异或直接得出flagfind_me 进游戏用fill指令把命令方块填充掉然后切创造或者观察找将文件解压出来后看结构是MC的存档文件,于是用MC跑,提示要找雪屋,在附近雪屋的箱子里有给压缩包密码 解压后得到:unai?535.0a20[189.[4049[ax30[e.j60xaj91x8+随波逐流一把梭音频的秘密…