# VSCode代码格式化---对齐连续声明的变量

配置代码格式化风格

我们在使用VSCode编写代码时,使用Shift+Alt+F格式化代码是十分常用的功能.

但VSCode默认的Visual Studio格式没有开启对齐连续声明的变量,但如结构体和连续声明的变量都没有对齐

**使用默认配置格式化后的代码:**可以看到结构体变量没有对齐

默认配置的代码: 在这里插入图片描述使用了自定义配置的代码:在这里插入图片描述

如果你想自己配置格式化设置,之前的教程一般都会让你装 clang-format插件LLVM.但现在就不需要了,VSCode的C/C++插件已经内置了这些东西.

已经使用VSCode安装C/C++插件后仅需要更改一个C_Cpp.clang_format_style就可以更改文件的的代码风格了

在这里插入图片描述

  1. 如果提供的Visual StudioLLVMGoogleChromiumMozillaWebKitMicrosoftGNU风格中有你需要的风格,鼠标选中复制后填入即可

  2. 如果预设的代码风格无法完全满足公司或个人的要求,那我们可以自己定制格式化文件

    1. 在电脑上找到一个位置创建.clang-format
      在这里插入图片描述
    2. C_Cpp.clang_format_style中输入file:<路径>/.clang-format就可以让所有C程序都用这个.clang-format文件进行格式化 (不要忘记在前面加上file:)

    在这里插入图片描述

  3. 也可以直接使用{键: 值, ...} 设置特定参数,这样就相当于直接保存在了settings.json文件中

在这里插入图片描述

这个是我的.clang-format文件配置,不一定适合你 ,网上也有人分享更详细的配置,你也可以根据官方提供的文档自己选择想要的参数

官方文档:Clang-Format Style Options — Clang 19.0.0git documentation (llvm.org)

我的配置:

---
#Visual Studio 样式类似于: { BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Allman, AllowShortIfStatementsOnASingleLine: false, IndentCaseLabels: false, ColumnLimit: 0, AccessModifierOffset: -4, NamespaceIndentation: All, FixNamespaceComments: false }

# 代码风格配置文件,用于指导代码的格式化和排版,以保持代码的一致性和可读性。
Language: Cpp
# 基于LLVM代码风格进行配置,这是一种广泛采用的C++代码风格。
BasedOnStyle: LLVM

# 禁止使用制表符,而是使用空格进行缩进,以避免不同编辑器间显示格式的差异。
UseTab: Never
# 指定每个缩进层级使用4个空格,这是大多数C++代码风格的常见选择。
IndentWidth: 4
# 制表符的宽度设置为4个空格,与IndentWidth保持一致,确保使用制表符和空格混合缩进时的显示效果一致。
TabWidth: 4

# 按照Allman风格,函数和控制流结构的左花括号另起一行,以增强代码的可读性。
BreakBeforeBraces: Linux  # 我们将结构体花括号放在同一行,以提高代码的可读性。

# 禁止将if语句(不包括else子句)放在一行内,以提高代码的可读性和可维护性。
AllowShortIfStatementsOnASingleLine: false
# 不对case标签进行额外缩进,保持与switch语句的左花括号对齐,以清晰显示控制流结构。
IndentCaseLabels: false

# 不设置列限制,允许代码自由扩展,注重代码的可读性而不强制限制行宽。
ColumnLimit: 0

# 访问修饰符(public、private、protected)的前面添加-4个空格的缩进,以区分于类成员的缩进。
AccessModifierOffset: -4

# 对所有命名空间层级进行缩进,以清晰显示命名空间的嵌套关系。
NamespaceIndentation: All

# 不修正命名空间注释的缩进,保持原始格式。
FixNamespaceComments: false

#长度差异过大时,比如上面是结构体,下面是int就加个空行
# 对齐连续声明
AlignConsecutiveDeclarations: true
# 对齐连续的赋值语句
AlignConsecutiveAssignments:  true

...

如果需要对某个项目需要单独设置格式化

在项目文件夹下生成.vscode文件夹,然后在.vscode文件夹中放置.clang-formatsettings.json文件

PS:使用Ctrl+Shift+P输入open workspace settings可以直接生成并打开工作区配置文件

在这里插入图片描述

在settings.json文件中填写

{
    "C_Cpp.clang_format_style": "file:${workspaceFolder}/.vscode/.clang-format",
}

在工作区中就优先使用工作区文件夹下.vscode文件夹下的.clang-format文件

没有这个setting.json文件就使用全局的配置文件,即我们上面配置的那个

让我们测试一下,将工作区下的.clang-format文件修改缩进为2,然后改为1可以看到确实是按照我们的设置进行的格式化

在这里插入图片描述

实际上.clang-format文件的位置可以根据项目要求放置或随意放置只需要修改settings.json文件中的路径即可

支持性最好的配置

C_Cpp.clang_format_style配置为file
C_Cpp.Clang_format_fallback Style使用{键: 值, ...}

让我们先看这句话:“file 从当前目录或父目录中的 .clang-format 文件加载样式`”(默认配置就是file)

在这里插入图片描述

在当前目录在父目录
在这里插入图片描述在这里插入图片描述

都加载当前文件夹的.clang-format 文件而不是加载全局设置.

这样的话,在.clang-format文件位置满足这两种情况时,就不用配置工作区的setting.json文件指定位置了了.

VSCode其他的配置

我们可以设置保存时自动格式化Editor: Format On Save
在这里插入图片描述
放心:只有手动保存触发自动格式化,自动保存不触发自动格式化
在这里插入图片描述

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值