vscode 如何修改c/c++格式化风格,大括号不换行

在Visual Studio Code(VSCode)中,若要修改C++代码格式化的风格以实现大括号不换行,通常会借助于插件C/C++扩展中的ClangFormat配置。以下是具体的步骤:

  1. 确保已安装了C/C++扩展:

    • 打开VSCode的扩展市场(Extensions view),搜索"C/C++",确保已经安装了微软提供的"C/C++"插件。
  2. 配置ClangFormat:

    • 在VSCode中打开设置(快捷键 Ctrl + , 或者通过菜单 文件 > 首选项 > 设置 进入)。
    • 搜索 “clang format”,找到"C_Cpp: Clang_format_style"这一项。
    • 你可以直接在UI界面中编辑设置,或者点击“在settings.json中编辑”来手动添加或修改设置。
  3. 修改ClangFormat样式设置:

    • settings.json中添加或修改如下内容,确保BreakBeforeBraces设置为Attach(这将使得大括号不换行):
{"C_Cpp.clang_format_style": "{ BasedOnStyle: LLVM, BreakBeforeBraces: Attach }"
}
  • 根据你的偏好,可以选择其他基础样式(如Google、Chromium等),并根据需要调整其他格式化选项。
  1. 如果你希望在保存时自动格式化代码,请同时确认以下设置是启用的:
{"editor.formatOnSave": true,"[cpp]": {"editor.defaultFormatter": "ms-vscode.cpptools"}
}

这样一来,在你保存C++文件时,VSCode会根据上述ClangFormat配置自动格式化代码,其中的大括号将会保持在同一行上。

注:

BreakBeforeBraces 是 ClangFormat 配置中的一个选项,用于控制大括号在代码格式化时的换行风格。这个选项有以下几种可能的值:

  • Attach大括号将紧跟在声明或语句之后,不换行。
  • LinuxGNU:类似 Attach,但在函数定义、类定义和命名空间定义的大括号前会有一行空行。
  • Stroustrup:类成员变量和函数定义的大括号前换行,其他情况(如 if、for 等)的大括号与前一行内容在同一行。
  • Allman:所有大括号前都换行。
  • MozillaWebKit:类似于 Allman,但函数参数列表后的大括号与函数名在同一行。

例如,在 Visual Studio Code 的 C/C++ 插件中配置为:

{"C_Cpp.clang_format_style": "{ BasedOnStyle: LLVM, BreakBeforeBraces: Attach }"
}

这样设置后,ClangFormat 将按照指定样式对 C++ 代码进行格式化,并确保大括号不会换到新行上。

修改示例:

在这里插入图片描述
Clang_format_style这里可以改为

{BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Attach}

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

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

相关文章

最新AI系统ChatGPT网站H5系统源码,支持Midjourney绘画局部编辑重绘,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧。已支持GPT…

学习笔记 | 微信小程序项目day01

今日学习内容 如何创建一个uni-app项目如何运行到微信微信开发者工具如何申请小程序appid如何配置tabBar轮播图demo 如何创建uni-app项目 使用HBuilder X 创建 如何运行到微信微信开发者工具 1、安装uni-app vue3 编译器 插件 2、安装微信开发者工具 微信开发者工具下载地址…

annoy,一个超强的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个超强的 Python 库 - annoy。 Github地址:https://github.com/spotify/annoy 在大数据时代,处理高维数据集的需求越来越迫切,尤其是在机器学习、推荐系统和自…

JS 异常处理

1、抛出异常 throw 1.throw抛出异常信息,程序也会终止执行 2.throw后面跟的是错误提示信息 3.Error对象配合 throw使用,能够设置更详细的错误信息 示例 function fn(x, y) {if (!x || !y) {throw new Error(没有参数传进来) }return x y } fn()打印结果…

基于LlamaIndex解决RAG的关键痛点

受到 Barnett 等人的论文《Seven Failure Points When Engineering a Retrieval Augmented Generation System》的启发,本文将探讨论文中提到的七个痛点,以及在开发检索增强型生成(RAG)流程中常见的五个额外痛点。更为关键的是&am…

Camera2+OpenGL ES+MediaCodec+AudioRecord实现录制音视频写入H264 SEI数据

记录一下学习过程,得到一个需求是基于Camera2OpenGL ESMediaCodecAudioRecord实现录制音视频。 需求: 在每一帧视频数据中,写入SEI额外数据,方便后期解码时获得每一帧中的自定义数据。点击录制功能后,录制的是前N秒至…

AI实践于学习3_大模型之AI解题提示词优化实践

前言 提示词只是让LLM具有一定的推理能力,并不能直接提高模型能力,可以借助CoT思维链、提示词规则一定程度微调模型。 尽量使用新模型,通用性能更好,支持提示词规则更多。 参考 https://www.rgznbk.com/archives/Prompt-Engin…

海外社媒营销平台及运营规则,如何降低封号率?

社交媒体已经成为人们生活和日常习惯不可或缺的一部分,在跨境电商出海过程中,海外社媒营销平台可以起到非凡的助力;而平台的选择以及平台的运营技巧、规则都各有不同。很多海外社媒工作者经常会被封号,这也是难度之一,…

2024美赛数学建模C题思路分析 - 网球的动量

1 赛题 问题C:网球的动量 在2023年温布尔登绅士队的决赛中,20岁的西班牙新星卡洛斯阿尔卡拉兹击败了36岁的诺瓦克德约科维奇。这是德约科维奇自2013年以来首次在温布尔登公开赛失利,并结束了他在大满贯赛事中历史上最伟大的球员之一的非凡表…

2024美赛C题完整解题教程 网球运动势头(持续更新)

2024美赛已经于今天早上6点准时公布题目。本次美赛将全程跟大家一起战斗冲刺O奖!思路持续更新。 2024 MCM Problem C: Momentum in Tennis (网球运动的势头) 注:在网球运动中,"势头"通常指的是比赛中因一系…

为客户解决痛点,电子纸增加制表功能

为客户解决痛点,电子纸增加制表功能 部分客户购买我们的电子纸后反馈效果很好,但是在配套组态软件制作电子纸模板时,遇到需要制作表格的时候比较麻烦。像是在画板作画一样,比较费时,而且效果不是很好,没办…

机器学习算法决策树

决策树的介绍 决策树是一种常见的分类模型,在金融风控、医疗辅助诊断等诸多行业具有较为广泛的应用。决策树的核心思想是基于树结构对数据进行划分,这种思想是人类处理问题时的本能方法。例如在婚恋市场中,女方通常会先询问男方是否有房产&a…

2024.2.1日总结

web的运行原理: 用户通过浏览器发送HTTP请求到服务器(网页操作)。web服务器接收到用户特定的HTTP请求,由web服务器请求信息移交给在web服务器中部署的javaweb应用程序(Java程序)。启动javaweb应用程序执行…

k8s之基础组件说明

前言 K8S,全称 Kubernetes,是一个用于管理容器的开源平台。它可以让用户更加方便地部署、扩展和管理容器化应用程序,并通过自动化的方式实现负载均衡、服务发现和自动弹性伸缩等功能。 具体来说,Kubernetes 可以将应用程序打包成…

2024年美赛C题:Momentum in Tennis思路解析

Problem C: Momentum in Tennis 网球运动中的动力 【扫描下方二维码加入群聊,了解更多思路~】 中文题目: 在2023年温布尔登男子单打决赛中,20岁的西班牙新星卡洛斯阿尔卡拉斯击败了36岁的诺瓦克德约科维奇。这是德约科维奇自2013年以来在温布…

RFID技术的应用在汽车座椅加工中的优势

RFID技术的应用在汽车座椅加工中的优势 在传统的汽车座椅加工过程中,需要人工核对和记录座椅的信息,如型号、序列号、生产日期等。这种方式不仅效率低下,而且容易出错。而通过使用RFID技术,这些问题得到了有效解决。 在座椅的生…

使用VScode编译betaflight固件--基于ubuntu平台

使用VScode编译betaflight固件--基于ubuntu平台 1、使用git克隆betaflight的开源代码2、配置编译环境3、使用VScode编译代码 window平台的见上一篇文章 使用VScode编译betaflight固件–基于windows平台 本文主要介绍在linux系统 ubuntu平台下使用VScode编译betaflight固件的方法…

C++集群聊天服务器 网络模块+业务模块+CMake构建项目 笔记 (上)

跟着施磊老师做C项目&#xff0c;施磊老师_腾讯课堂 (qq.com) 一、网络模块ChatServer chatserver.hpp #ifndef CHATSERVER_H #define CHATSERVER_H#include <muduo/net/TcpServer.h> #include <muduo/net/EventLoop.h> using namespace muduo; using namespace …

jsp 产品维修管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 产品维修管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.…

如何使用内网穿透工具在公网实现实时监测DashDot服务器仪表盘

文章目录 1. 本地环境检查1.1 安装docker1.2 下载Dashdot镜像 2. 部署DashDot应用3. 本地访问DashDot服务4. 安装cpolar内网穿透5. 固定DashDot公网地址 本篇文章我们将使用Docker在本地部署DashDot服务器仪表盘&#xff0c;并且结合cpolar内网穿透工具可以实现公网实时监测服务…