VS Code C++ 开发环境搭建指南(Windows)

本指南记录了在 Windows 上使用 VS Code 编写、编译、运行和调试 C++ 代码的完整步骤。


一、需要安装的软件

软件 用途 下载方式
VS Code 代码编辑器 官网下载
MSYS2 提供 g++ 编译器和 gdb 调试器 winget install MSYS2.MSYS2 --source winget官网下载
C/C++ 扩展 VS Code 中的 C++ 语言支持 VS Code 扩展商店搜索 “C/C++” (Microsoft)

二、安装步骤

步骤 1:安装 VS Code

从官网下载安装即可,安装时建议勾选 “添加到 PATH”。

步骤 2:安装 MSYS2(提供编译器和调试器)

方法 A:使用 winget(推荐)

打开 PowerShell,执行:

winget install MSYS2.MSYS2 --source winget

默认安装到 C:\msys64

方法 B:从官网下载安装包

前往 https://www.msys2.org/ 下载安装程序,按默认路径安装到 C:\msys64

步骤 3:安装 g++ 编译器

打开 PowerShell,执行:

C:\msys64\usr\bin\pacman.exe -Sy --noconfirm mingw-w64-ucrt-x86_64-gcc

安装完成后,g++ 位于 C:\msys64\ucrt64\bin\g++.exe

步骤 4:安装 gdb 调试器

C:\msys64\usr\bin\pacman.exe -S --noconfirm mingw-w64-ucrt-x86_64-gdb

安装完成后,gdb 位于 C:\msys64\ucrt64\bin\gdb.exe

步骤 5:将编译器路径添加到系统 PATH

打开 PowerShell,执行:

$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "C:\msys64\ucrt64\bin;$userPath", "User")

为什么需要这一步? g++ 运行时依赖同目录下的 DLL(如 libgcc、libstdc++ 等),不加 PATH 会导致编译静默失败。

添加后重启 VS Code 使 PATH 生效。

步骤 6:安装 VS Code C/C++ 扩展

  1. 打开 VS Code
  2. Ctrl+Shift+X 打开扩展商店
  3. 搜索 “C/C++”,安装 Microsoft 官方扩展

步骤 7:验证安装

打开 VS Code 终端(Ctrl+`),执行:

g++ --version
gdb --version

应看到类似输出:

g++ (Rev14, Built by MSYS2 project) 15.2.0
GNU gdb (GDB) 17.1

三、项目配置文件

在项目根目录下需要创建 .vscode 文件夹,包含以下三个配置文件:

1. .vscode/tasks.json — 编译任务配置

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "C:\\msys64\\ucrt64\\bin\\g++.exe",
            "args": [
                "-g",                    // 生成调试信息
                "${file}",               // 当前打开的源文件
                "-fexec-charset=GBK",    // 解决中文输出乱码
                "-finput-charset=UTF-8", // 源文件编码为UTF-8
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}",
                "env": {
                    "PATH": "C:\\msys64\\ucrt64\\bin;${env:PATH}"
                }
            },
            "problemMatcher": ["$gcc"],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "编译器: C:\\msys64\\ucrt64\\bin\\g++.exe"
        }
    ]
}

2. .vscode/launch.json — 调试配置

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,    // false: 输出在VS Code内置终端; true: 弹出外部窗口
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}

3. .vscode/c_cpp_properties.json — IntelliSense 配置

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
            "compilerPath": "C:/msys64/ucrt64/bin/g++.exe",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}

四、编写和运行代码

示例代码 (src/main.cpp)

#include<iostream>
using namespace std;
int main()
{
    cout<<"hello world"<<endl;
    return 0;
}

运行方式

操作 快捷键 说明
编译 + 调试运行 F5 编译后启动调试器运行,可以设断点
仅编译 Ctrl+Shift+B 只编译生成 .exe,不运行
编译后手动运行 终端中输入 .\main.exe 在 VS Code 终端手动执行

输出显示位置

  • externalConsole: false → 输出显示在 VS Code 下方的内置终端
  • externalConsole: true → 输出显示在弹出的外部命令行窗口中(窗口程序结束后会关闭,需加 system("pause") 暂停)

五、常见问题

Q1: 编译失败,g++ 没有任何错误输出就退出

原因C:\msys64\ucrt64\bin 不在 PATH 中,g++ 找不到依赖的 DLL。

解决:按步骤 5 添加 PATH,或在 tasks.jsonoptions.env 中设置 PATH。

Q2: “unable to start debugging, the value of miDebuggerPath is invalid”

原因:gdb 未安装或路径错误。

解决:按步骤 4 安装 gdb,确认 C:\msys64\ucrt64\bin\gdb.exe 存在。

Q3: 运行时中文显示乱码

原因:MinGW 默认输出编码与 Windows 控制台编码不一致。

解决:在 tasks.json 的编译参数中添加 -fexec-charset=GBK-finput-charset=UTF-8

Q4: 按 F5 后外部窗口一闪而过,看不到输出

解决(二选一)

  • 方法 A:将 launch.jsonexternalConsole 改为 false,输出在 VS Code 内置终端显示
  • 方法 B:在代码末尾 return 0; 前加 system("pause");(需 #include<cstdlib>

Q5: pacman 安装包时报 404 错误

原因:本地包数据库过期。

解决:先运行 C:\msys64\usr\bin\pacman.exe -Sy 刷新数据库,再安装。


六、项目目录结构参考

design_demo/
├── .vscode/
│   ├── tasks.json              # 编译任务配置
│   ├── launch.json             # 调试配置
│   └── c_cpp_properties.json   # IntelliSense 配置
├── src/
│   └── main.cpp                # 源代码
├── include/                    # 头文件目录
├── lib/                        # 库文件目录
├── build/                      # 构建输出目录
└── docs/
    └── VSCode_CPP_Setup_Guide.md  # 本指南
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐