在 Windows 系统上配置 VS Code C++ 代码格式化

如果你想大括号保存好自动格式化成这样,而不想这样,那你可以试试以下的配置。

// 实现效果
void solve(){
}
// 之前的效果
void solve()
{
}

​ 本指南将详细介绍如何在 Windows 系统上为 VS Code 配置 C++ 代码格式化,以实现保存时自动格式化、四空格缩进以及特定的括号样式(左括号与函数同一行,右括号自动换行)。

步骤 1:安装必要的 VS Code 扩展

​ 首先,你需要安装 Microsoft 官方的 C/C++ 扩展。这个扩展提供了 IntelliSense、调试以及 C++ 代码格式化等核心功能。

  1. 打开 VS Code。
  2. 点击左侧的扩展图标(或按 Ctrl + Shift + X)。
  3. 在搜索框中输入 C++
  4. 找到 C/C++ 扩展(发布者为 Microsoft),然后点击“安装”。

步骤 2:安装 Clang-Format 工具

​ VS Code 的 C++ 扩展依赖于外部工具 clang-format 来进行格式化。你需要在 Windows 系统上安装这个工具。

方法一:使用 Chocolatey (有梯的推荐)

Chocolatey 是 Windows 上的一个包管理器,使用它可以轻松安装和管理软件。

  1. 按下 Windows 键,键入 PowerSheel ,以管理员身份打开 PowerShell

  2. 运行以下命令来安装 Chocolatey

    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    
  3. Chocolatey 安装完成后,重启 PowerShell 或命令提示符。

  4. 运行以下命令来安装 clang-format

    choco install llvm
    

    这个命令会安装整个 LLVM 工具链,其中就包含 clang-format.exe

方法二:手动安装(国内访问推荐)
  1. 访问 LLVM 的官方下载页面。👉如果下载不了,访问我的网盘链接,提取码: noip。
  2. 找到最新的 Windows 版本安装包(通常是 LLVM-xx.x.x-win64.exe)。
  3. 下载并运行安装程序。
  4. 在安装过程中,确保勾选 “Add LLVM to the system PATH for all users” 选项。这能让 VS Code 自动找到 clang-format

步骤 3:配置 VS Code 和 .clang-format 文件

现在,你需要告诉 VS Code 在保存时使用 clang-format 来格式化代码,并设置你的特殊格式化规则。

  1. 打开 VS Code 设置

    • Ctrl + , 打开设置。
    • 在搜索框中输入 formatOnSave,确保 Editor: Format On Save 选项已勾选。
    • 搜索 defaultFormatter,将 Editor: Default Formatter 设置为 ms-vscode.cpptools
  2. 创建 .clang-format 配置文件

    • 在你的 项目根目录(不认识根目录就在打开 vscode 之后,你所在的文件夹的最外层创建即可) 下创建一个名为 .clang-format 的文件(没有后缀和前缀,就是 .clang-format)。
  3. 粘贴你的格式化规则

    • 将以下内容复制并粘贴到 .clang-format 文件中:
    # 基于 LLVM 风格,并进行自定义
    BasedOnStyle: LLVM
    # 设置缩进宽度为4个空格
    IndentWidth: 4
    # 让大括号 { 紧跟在函数或控制流的同一行
    BreakBeforeBraces: Attach
    # 调整大括号行为以实现你的特殊需求
    BraceWrapping:
      AfterFunction:   false  # 函数的左大括号与函数声明在同一行
      AfterControlStatement: false # 控制流语句的左大括号与语句在同一行
      BeforeCatch:     true
      BeforeElse:      true
      IndentBraces:    false
      AfterClass: false
      AfterStruct: false
      AfterEnum: false
      AfterNamespace: false
    
  4. 保存文件

    • 保存 .clang-format 文件。现在,当你保存项目中的 C++ 文件时,VS Code 就会自动按照这个配置文件中的规则进行格式化了。

疑难解答 ❓

如果在完成以上步骤后,格式化仍然没有生效,请检查以下几点:

  • clang-format 路径
    • 在 VS Code 设置中,搜索 C_Cpp: Clang-Format Path
    • 如果你没有使用 Chocolatey,或者 clang-format.exe 不在系统的环境变量中,你需要在这里手动指定它的完整路径,例如 C:\Program Files\LLVM\bin\clang-format.exe
  • VS Code 输出
    • 点击 VS Code 底部状态栏的“输出”面板,然后选择 C/C++。这里会显示格式化工具的执行日志,如果有错误信息,可以帮助你找到问题。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐