当前位置: 首页 > news >正文

trae 中让 clangd 插件格式化代码时大括号换行

在 clangd 中使用 clang-format 时,要控制大括号的换行风格,你需要配置.clang-format文件。以下是常用的大括号换行配置选项:

1. 创建或修改.clang-format文件

在你的项目根目录或用户目录创建此文件:

# 基础风格(可选的预设)BasedOnStyle:LLVM# 或 Google, Chromium, Mozilla, WebKit 等# 函数定义的大括号换行BreakBeforeBraces:Custom# 设置为Custom以便自定义控制# 详细的括号换行配置BraceWrapping:AfterClass:true# 类定义后换行AfterControlStatement:true# 控制语句后换行AfterEnum:true# 枚举定义后换行AfterFunction:true# 函数定义后换行AfterNamespace:true# 命名空间后换行AfterObjCDeclaration:trueAfterStruct:true# 结构体定义后换行AfterUnion:true# 联合定义后换行AfterExternBlock:trueBeforeCatch:trueBeforeElse:trueBeforeLambdaBody:falseBeforeWhile:falseIndentBraces:falseSplitEmptyFunction:trueSplitEmptyRecord:trueSplitEmptyNamespace:true

2. 推荐的配置(大括号全部换行)

BasedOnStyle:LLVMBreakBeforeBraces:Allman# 或使用自定义设置:BraceWrapping:AfterClass:trueAfterControlStatement:AlwaysAfterEnum:trueAfterFunction:trueAfterNamespace:trueAfterStruct:trueAfterUnion:trueAfterExternBlock:true

3. 针对不同情况的配置示例

示例 1:Allman 风格(大括号总是换行)

BasedOnStyle:LLVMBreakBeforeBraces:Allman

示例 2:函数大括号换行,其他不换

BasedOnStyle:LLVMBreakBeforeBraces:CustomBraceWrapping:AfterFunction:trueAfterClass:falseAfterControlStatement:Never

4. 完整的配置示例

Language:CppBasedOnStyle:LLVMAccessModifierOffset:-2AlignAfterOpenBracket:AlignAlignEscapedNewlines:LeftAlignOperands:trueAllowShortBlocksOnASingleLine:NeverAllowShortCaseLabelsOnASingleLine:falseAllowShortFunctionsOnASingleLine:NoneAllowShortIfStatementsOnASingleLine:NeverAllowShortLoopsOnASingleLine:falseAlwaysBreakAfterReturnType:NoneAlwaysBreakBeforeMultilineStrings:trueBreakBeforeBinaryOperators:NoneBreakBeforeBraces:CustomBraceWrapping:AfterClass:trueAfterControlStatement:AlwaysAfterEnum:trueAfterFunction:trueAfterNamespace:trueAfterStruct:trueAfterUnion:trueAfterExternBlock:trueColumnLimit:120IndentWidth:4UseTab:NeverTabWidth:4PointerAlignment:LeftSpaceAfterCStyleCast:falseIndentCaseLabels:true

5. 验证配置

  1. 安装 clang-format:
# Ubuntu/Debiansudoapt-getinstallclang-format# macOSbrewinstallclang-format# 或通过 LLVM
  1. 测试格式化效果:
clang-format --style=file -i yourfile.cpp

6. 在 VSCode 中配置

.vscode/settings.json中添加:

{"clangd.fallbackFlags":["--query-driver=*"],"C_Cpp.formatting":"disabled","[cpp]":{"editor.formatOnSave":true}}

注意事项:

  1. .clang-format文件应该放在项目根目录
  2. 可以在文件头部使用#注释配置项的含义
  3. 可以使用clang-format -style=file -dump-config查看当前配置
  4. BreakBeforeBraces 预设值有:Attach, Linux, Stroustrup, Allman, GNU, WebKit, Mozilla, Custom

选择适合你团队编码风格的配置即可。

http://www.jsqmd.com/news/211514/

相关文章:

  • 网络安全五大专业深度解析:谁主攻科研?谁进大厂拿高薪?
  • 导师推荐10个AI论文工具,助你轻松搞定研究生论文写作!
  • 扣子免费生成PPT的工作流
  • ICLR 2026 Workshop 征稿开启:迈向 Lifelong Agent 终身智能新范式 投稿截止:2026/2/15
  • 2026爆火AI论文工具:9款实测自动降重+高级表达,限时公开!
  • 基于FPGA的CIC滤波器:级联积分梳状滤波器在多采样率信号处理中的数字上下变频
  • 网络安全行业前景真的这么好吗?
  • 吐血推荐专科生必用TOP10 AI论文平台
  • Java小白求职互联网大厂:从Spring Boot到微服务的面试历程
  • 汽车制造数字大脑:驱动未来智能制造的核心引擎
  • 权限控制设计:多用户场景下的安全访问机制
  • 全网最全本科生必用TOP8 AI论文平台测评
  • Java动态编译[源码是字符串形式]
  • 智能手语翻译眼镜系统设计与实现
  • 最近拆了台风机控制系统,发现远景这波人在搞事情。他们家的主控平台玩分层架构,乍看像千层饼——感知层、决策层、执行层三层夹心,中间还抹了SCADA系统当果酱
  • Heath Hoglund加入Sisvel,担任首席知识产权官
  • 汽车制造柔性排产:实现高效响应与资源优化的关键路径
  • 税务工作流智能体设计与实现方案
  • 新能源电动汽车整车控制器VCU原理图与PCB图详解:控制策略及程序实现探讨
  • C#使用ONNX Runtime运行Qwen3Guard-Gen-8B简化部署方案
  • AI亮相中韩创新创业论坛,MiniMax创始人闫俊杰:在韩用户超200万
  • 分布式研发的工具与平台选择
  • 国际光学与光子学学会(SPIE)公布2026年度会士名单
  • 城市绿化管理:树木健康状况AI评估系统
  • Kali利用msf渗透Windows电脑(超详细)
  • 星海图旗下品牌Galaxea Dynamics携全球首款“开箱即用”VLA一体机平台亮相CES 2026
  • 牙科影像CNN分析,诊断快一倍
  • 内网渗透实战笔记:信息收集命令快速参考手册​
  • Hunyuan-MT-7B购买Token送算力?限时优惠活动开启
  • deepcode国内使用教程