VSCode C/C++ 格式化配置【最完整准确版本】

2023-05-16

一、下载Clang-format

1、在VSCode插件商店下载 C/C++插件 和 Clang-format 插件

二、生成 .clang-format 文件

2、去到: C:\Users\<你的用户名>.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\LLVM\bin\

3、打开终端,cd到此处,执行以下代码:
.\clang-format.exe -style="llvm" -dump-config > .clang-format

4、然后就会得到一个 .clang-format 文件,用文本编辑器编辑这个文件,就可以修改格式化格式了。

格式说明参考:【C++】Clang-Format:代码自动格式化(看这一篇就够了)

---
# 语言: None, Cpp, Java, JavaScript, ObjC, Proto, TableGen, TextProto
Language:	Cpp
# BasedOnStyle:	LLVM
# 访问说明符(public、private等)的偏移
AccessModifierOffset:	-4
# 连续赋值时,对齐所有等号
AlignConsecutiveAssignments:	true
# 左对齐逃脱换行(使用反斜杠换行)的反斜杠
AlignEscapedNewlinesLeft:	true
# 水平对齐二元和三元表达式的操作数
AlignOperands:	true
# 对齐连续的尾随的注释
AlignTrailingComments:	true
# 允许函数声明的所有参数在放在下一行
AllowAllParametersOfDeclarationOnNextLine:	true
# 允许短的块放在同一行
AllowShortBlocksOnASingleLine:	false
# 允许短的case标签放在同一行
AllowShortCaseLabelsOnASingleLine:	false
# 允许短的函数放在同一行: None, InlineOnly(定义在类中), Empty(空函数), Inline(定义在类中,空函数), All
AllowShortFunctionsOnASingleLine:	Empty
# 允许短的if语句保持在同一行
AllowShortIfStatementsOnASingleLine:	false
# 允许短的循环保持在同一行
AllowShortLoopsOnASingleLine:	false
# 总是在定义返回类型后换行(deprecated)
AlwaysBreakAfterDefinitionReturnType:	None
# 总是在多行string字面量前换行
AlwaysBreakBeforeMultilineStrings:	false
# 总是在template声明后换行
AlwaysBreakTemplateDeclarations:	false
# false表示函数实参要么都在同一行,要么都各自一行
BinPackArguments:	true
# false表示所有形参要么都在同一行,要么都各自一行
BinPackParameters:	true
# 在二元运算符前换行: None(在操作符后换行), NonAssignment(在非赋值的操作符前换行), All(在操作符前换行)
BreakBeforeBinaryOperators:	NonAssignment
# 在三元运算符前换行
BreakBeforeTernaryOperators:	true
# 在构造函数的初始化列表的逗号前换行
BreakConstructorInitializersBeforeComma:	false
# 每行字符的限制,0表示没有限制
ColumnLimit:  0 #126
# 描述具有特殊意义的注释的正则表达式,它不应该被分割为多行或以其它方式改变
CommentPragmas:	'^ IWYU pragma:'
# 构造函数的初始化列表要么都在同一行,要么都各自一行
ConstructorInitializerAllOnOneLineOrOnePerLine:	false
# 构造函数的初始化列表的缩进宽度
ConstructorInitializerIndentWidth:	4
# 延续的行的缩进宽度
ContinuationIndentWidth:	4
# 去除C++11的列表初始化的大括号{后和}前的空格
Cpp11BracedListStyle:	false
# 继承最常用的指针和引用的对齐方式
DerivePointerAlignment:	false
# 关闭格式化
DisableFormat:	false
# 自动检测函数的调用和定义是否被格式为每行一个参数(Experimental)
ExperimentalAutoDetectBinPacking:	false
# 需要被解读为foreach循环而不是函数调用的宏
ForEachMacros:	[ foreach, Q_FOREACH, BOOST_FOREACH ]
# 缩进case标签
IndentCaseLabels:	true
# 缩进宽度
IndentWidth:	16
# 函数返回类型换行时,缩进函数声明或函数定义的函数名
IndentWrappedFunctionNames:	false
# 保留在块开始处的空行
KeepEmptyLinesAtTheStartOfBlocks:	true
# 开始一个块的宏的正则表达式
MacroBlockBegin:	''
# 结束一个块的宏的正则表达式
MacroBlockEnd:	''
# 连续空行的最大数量
MaxEmptyLinesToKeep:	10
# 命名空间的缩进: None, Inner(缩进嵌套的命名空间中的内容), All
NamespaceIndentation:	Inner
# 使用ObjC块时缩进宽度
ObjCBlockIndentWidth:	8
# 在ObjC的@property后添加一个空格
ObjCSpaceAfterProperty:	false
# 在ObjC的protocol列表前添加一个空格
ObjCSpaceBeforeProtocolList:	true
# 在call(后对函数调用换行的penalty
PenaltyBreakBeforeFirstCallParameter:	19
# 在一个注释中引入换行的penalty
PenaltyBreakComment:	106
# 第一次在<<前换行的penalty
PenaltyBreakFirstLessLess:	120
# 在一个字符串字面量中引入换行的penalty
PenaltyBreakString:	1000
# 对于每个在行字符数限制之外的字符的penalty
PenaltyExcessCharacter:	1000000
# 将函数的返回类型放到它自己的行的penalty
PenaltyReturnTypeOnItsOwnLine:	60
# 指针和引用的对齐: Left, Right, Middle
PointerAlignment:	Right
# 在C风格类型转换后添加空格
SpaceAfterCStyleCast:	false
# 在赋值运算符之前添加空格
SpaceBeforeAssignmentOperators:	true
# 开圆括号之前添加一个空格: Never, ControlStatements, Always
SpaceBeforeParens:	Never #ControlStatements
# 在空的圆括号中添加空格
SpaceInEmptyParentheses:	false
# 在尾随的评论前添加的空格数(只适用于//)
SpacesBeforeTrailingComments:	4
# 在尖括号的<后和>前添加空格
SpacesInAngles:	true
# 在容器(ObjC和JavaScript的数组和字典等)字面量中添加空格
SpacesInContainerLiterals:	true
# 在C风格类型转换的括号中添加空格
SpacesInCStyleCastParentheses:	false
# 在圆括号的(后和)前添加空格
SpacesInParentheses:	false
# 在方括号的[后和]前添加空格,lamda表达式和未指明大小的数组的声明不受影响
SpacesInSquareBrackets:	false
# 标准: Cpp03, Cpp11, Auto
Standard:	Cpp11
# tab宽度
TabWidth:	16
# 使用tab字符: Never, ForIndentation, ForContinuationAndIndentation, Always
UseTab:	Always

三、VS Code设置

5、使用 ctrl + , 打开设置
6、找到:扩展 -> C/C++/Formatting
![在这里插入图片描述](https://img-blog.csdnimg.cn/b6a41cd55e614e7eaab9540fbc583a22.png

其中:

(1) C_Cpp: Clang_format_path:这个是 clang-format.exe 的绝对路径

  • C:\Users\xxx\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\LLVM\bin\clang-format.exe

(2) C_Cpp: Clang_format_style:决定格式化形式,若为 file,则调用在workspace中的 .clang-format; 若指定 file路径,则按照指定路径来执行。见下图。

  • file:C:\Users\xxx\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\LLVM\bin/.clang-format

(3) C_Cpp: Clang_format_fallback Style :若上一个选项设置为 file,但无 .clang-format 文件,则按照此处规则。

在这里插入图片描述

(4) 检测 .clang-format 文件参数是否正确:

  • Clang_format_style 设置为 file;
  • 根目录放.clang-format文件;
  • 右键格式化

在这里插入图片描述

四、LLVM安装 + 添加到环境变量,格式化才可用

1、在安装了clang-format插件之后,进行代码格式化时还是会报错,The ‘clang-format’ command is not available. Please check your clang-format.executable user setting and ensure it is installed. 报错的大概意思是:命令不可用。

2、解决方案:下载LLVM
http://llvm.org/releases/3.7.0/LLVM-3.7.0-win32.exe
http://llvm.org/releases/3.7.0/LLVM-3.7.0-win64.exe

3、这步在安装的时候 直接选择安装到路径 中;(安装后可查看环境变量:我的电脑-属性-关于-高级系统设置-xxx D:\APPLICATION\LLVM\bin

4、重启VSCode! 就OK了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VSCode C/C++ 格式化配置【最完整准确版本】 的相关文章

  • Python 安装模块后找不到模块以及Python代码自动补全设置的一个思路

    起因是在做一些小玩意时安装了一些模块 但是运行时却找不到模块 于是多次重装VScode里边的Python部分 导致VScode自动补全也被玩掉了 查了很久的才终于搞回来 先把找到的一个有用链接放这 免得找不到了如何使用Visual Stud
  • 解决vscode各种异常格式化编译器配置

    在vscode中创建vue文件时 若编辑代码时会出现间隔一段时间后自动的格式化内容 会很烦 经反复改查后无果 后来 对编辑器进行全面配置 首先原setting json文件中的代码是这样的 files autoSave afterDelay
  • VsCode的 code . 失效了?如何解决

    已经安装了vscode 为什么没有 code 命令呢 是因为你下载vscode的时候 是直接拷贝的文件 或者下载失误的问题 从而导致code环境变量没有配置 配置环境变量 path 找到我的电脑 右键 属性 2 选择高级系统设置 单机即可
  • 解决vscode git push不成功,总是弹出“...reset”或“...Timeout”错误问题?

    问题 解决vscode git push不成功 总是弹出 reset 或 Timeout 错误问题 解决方法 cmd刷新一下ip缓存 ipconfig flushdns 第二种 git push报错 OpenSSL SSL read Con
  • 猿如意

    目录 一 什么是猿如意 二 借助猿如意安装Visual Studio Code 1 安装猿如意 2 安装Visual Studio Code 三 总结 一 什么是猿如意 猿如意是CSDN推出来的一款面向开发者的工具 他能够帮助开发者 找到自
  • 【VSCode】推荐一款Microsoft Visual Studio Code能在编辑器内智能补全代码的插件 - Tabnine AI

    Tabnine AI Autocomplete for Javascript Python Typescript PHP Go Java Ruby more Tabnine是一个AI代码补全插件 支持JavaScript Python Ja
  • VSCode远程连接ubuntu服务器

    1 打开VSCode 安装插件 安装插件 汉化 方法如下 重启之后界面就都是中文了 因为我之前弄过了 如果你的已经是中文了 可以省去这一步 安装remote development插件 如下图 用于远程连接服务器 安装好之后 左侧多了一个
  • window10在vscode中配置conda出错解决办法

    Windows 10 VSCode激活conda虚拟环境失败解决方案 CommandNotFoundError Your shell has not been 码农家园
  • 8种常见的 代码 编译 软件 !!

    VS Code Source Insight Vim UltraEdit eclipse Understand Atom Sublime Text 接下来详细为大家讲解一下它们各自的用途 目录 1 VS Code 2 Source Insi
  • VSCode连接WSL2及VMware,WSL2安装GUI应用

    一 VScode 连接WSL2 参考文章 巨硬官方文档 知乎大佬教程 知乎大佬教程2 1 开启WSL2 支持 使用管理员权限的 Shell 才能安装 WSL2 按 Win X 找到 Windows PowerShell 管理员 并复制执行命
  • 最快方式 ESP-IDF 创建例子 教程

    需要条件 安装了 VSCODE 安装了插件 Espressif IDF工具 系统中安装了 ESP IDF 可使用离线包 或在线安装包 在插件中配置了 ESP IDF 可能需要在线更新一些东西 点击F1 输入 ESP 等待提示 出现提示后 选
  • 【css】overflow溢出隐藏

    overflow scroll 溢出部分显示滚动条 不溢出也显示滚动条 overflow auto 溢出的时候才显示滚动条 不溢出不显示滚动条
  • VScode扩展商店不显示插件问题

    VScode扩展商店不显示插件问题 情况一 代理服务器异常 参考文章 https blog csdn net wodebokecsdn article details 89239769 文件 首选项 设置 应用程序 代理服务器 情况二 设备
  • vscode 中使用鼠标Ctrl+滚轮放大缩小

    1 使用鼠标Ctrl 滚轮放大缩小 打开 文件 gt 首选项 gt 设置 gt 用户 gt 下面的JSON 2 3 点击在settings json中编辑 4 添加下面一行 editor mouseWheelZoom true 5 最后保存
  • 在命令行运行 VSCode(macOS)

    在命令行运行 VSCode macOS系统 Windows 版 VSCode 的安装脚本带着一个是否把 Code 加入 PATH 的选项 而 macOS版却没有 有的人想到给 VSCode 做一个符号链接加入 PATH 中 但实际上这样做会
  • 企业微信登录-前端实现

    企业微信登录 企业微信登录 前端具体实现 下面代码中配置项的字段具体用途说明可以阅读企业微信开发者说明文档 我们通过提供的企业微信登录组件来进行站内登录 下面是我封装的登录组件以及使用方法 weChatLogin vue 封装的组件
  • vscode乱码

    vscode中文乱码怎么解决 vscode是一款跨平台源代码编辑器 能够在桌面上运行 并且能够用途windows macOS以及Linux 但是有不少小伙伴们在使用vscode时 输入输出的却是中文代码 也不知道如何解决 那么今天小编就来告
  • python利用bs4获取网络小说

    所选定的小说网址 https www shicimingju com book xiyouji html 如果想更换其他小说资源 在上一级网址就行 https www shicimingju com book 代码如下 from bs4 i
  • VSCode中配置命令行参数

    VSCode中配置命令行参数 在跑程序调试的时候 可以直接使用脚本运行程序 这个时候调试代码只能用pdb 我觉得不太习惯 而且感觉不是很好 所以想这能不能将运行程序的脚本中的命令直接配置到vscode上 就有了这篇记录 正常vscode D
  • VScode配置mingw C语言环境变量

    C语言IDE VScode VScode是个人比较喜欢的一款IDE软件 鄙人曾同时在VScode软件中运行三个终端 开发Python Golang和C语言 下载地址如下 code visualstudio com VScode配置mingw

随机推荐

  • 几个简单的数据点平滑处理算法

    最近在写一些数据处理的程序 经常需要对数据进行平滑处理 直接用FIR滤波器或IIR滤波器都有一个启动问题 xff0c 滤波完成后总要对数据掐头去尾 因此去找了些简单的数据平滑处理的方法 在一本老版本的 数学手册 中找到了几个基于最小二乘法的
  • 陶哲轩实分析 3.5 节习题试解

    3 5 1 第一种定义 xff1a x y 61
  • C++ 中的 std::pair 和 std::tuple

    C 43 43 中的 std pair 和 std tuple 最近在看 C 43 43 11 的标准 xff0c 发现了 std pair 和 std tuple 感觉这两个非常有用 就在这里记录一下 std pair 出现的比较早 xf
  • OpenCV 真圆度测量

    OpenCV 真圆度测量 最近一个项目需要在图像上测量一些小孔的真圆度 因此专门研究了一下真圆度计算问题 对于一个轮廓 xff0c 我们可以求出这个轮廓的外接圆和内切圆 这两个圆的半径差定义为真圆度 这个数值越小 xff0c 表示这个圆越标
  • 如何修改 CentOS 系统最大线程数

    简介 xff1a 本文主要介绍如何修改CentOS系统最大线程数 镜像下载 域名解析 时间同步请点击 阿里巴巴开源镜像站 1 安装ElasticSearch后 xff0c 配置完成 xff0c 启动服务 xff0c 系统显示类似如下 max
  • MathJax 支持的 Latex 符号总结(各种箭头符号)

    箭头符号 latex显示效果 uparrow downarrow Uparrow Downarrow updownarrow Updownarrow rightarrow
  • C++ 复制构造函数不能用 explicit 修饰

    最近在写的一个代码 出现个莫名其妙的编译问题 代码可以简化成这样 xff1a class foo span class hljs keyword public span span class hljs title foo span span
  • FreeRTOS 源码注释(vTaskDelete)

    void vTaskDelete xTaskHandle pxTaskToDelete tskTCB pxTCB taskENTER CRITICAL if pxTaskToDelete 61 61 pxCurrentTCB pxTaskT
  • 循环冗余校验(CRC)算法入门引导

    写给嵌入式程序员的循环冗余校验 xff08 CRC xff09 算法入门引导 前言 CRC校验 xff08 循环冗余校验 xff09 是数据通讯中最常采用的校验方式 在嵌入式软件开发中 xff0c 经常要用到CRC 算法对各种数据进行校验
  • FreeRTOS 移植要点(2)

    port c port c 中主要实现了几个函数 xff1a pxPortInitialiseStack xPortStartScheduler vPortEndScheduler vPortYield vPortTickInterrupt
  • DLA (扩散限制凝聚)模型的计算机模拟

    几年前写的一个小程序 xff0c 最近找到了 程序写的比较简单 xff0c 也没做什么优化 对正在学习计算物理的同学可能会有点帮助 下面关于DLA 模型的介绍来自百度百科 Diffusion limited Aggregation xff0
  • matlab 读取处理 wav 文件

    最近工作需要 xff0c 要对wav 文件中存储的声音信息进行分析处理 所以花了些时间收集了各种数学软件中处理 wav 文件的方法 Matlab Matlab 是最方便的 甚至于不用写任何代码就能读取 wav 文件 xff08 我用的是 m
  • Savitzky-Golay 滤波器

    Savitzky Golay滤波器 xff08 通常简称为S G滤波器 xff09 最初由Savitzky 和 Golay 于 1964 年提出 xff0c 发表于Analytical Chemistry 杂志 之后被广泛地运用于数据流平滑
  • 关于查看ros中可以安装的功能包

    可以通过以下命令查看软件库中是否包含你所需要的功能包 apt cache search xxxx 其中xxx为你要搜索的关键字
  • 教你如何用原生css和html搭建一个好看的Table表格

    前言 大家在学习 lt table gt 标签的时候 xff0c 可能还没有接触css xff0c 所以你做出来的表格可能是这样的 xff1a 或者是这样的 xff1a 大家有想过自己做一个漂亮的表格吗 xff1f 我知道大家在做项目的时候
  • 如何在 Ubuntu 20.04 启用 SSH

    简介 xff1a Secure Shell SSH 是一个网络协议 xff0c 它主要被用来加密客户端和服务端之间的连接 在客户端和服务端的每一次交互都被加密 本文主要为大家讲解如何在 Ubuntu 20 04 启用 SSH 镜像下载 域名
  • 树莓派镜像SD卡烧录成功磁盘没内容解决方法

    这个情况很可能是删除分区后发生的 xff0c 只需要此电脑 管理 磁盘管理 驱动器路径 添加 确定就可以解决了
  • C++ 类学习总结(五) 继承与多态

    继承 基本概念 xff0e 基类 xff1a 可供其他类继承的类 xff0c 基类的成员也将成为派生类的成员 xff0e 派生类 xff1a 从基类继承而来的类 xff0c 称为派生类 xff0e 虚函数 xff1a 基类中希望其派生类可以
  • 行业术语 英文

    IDE 一般指集成开发的环境 如QT Creator Visual Studio等 Application framework 一般指的是应用程序框架 xff08 包含 XML xff0c GUI组件 xff0c 程序 xff0c 网络框架
  • VSCode C/C++ 格式化配置【最完整准确版本】

    一 下载Clang format 1 在VSCode插件商店下载 C C 43 43 插件 和 Clang format 插件 二 生成 clang format 文件 2 去到 C Users lt 你的用户名 gt vscode ext