VS Code 需配合 MinGW-w64 编译器、CMake Tools 等扩展及配置文件才能支持 C++ 编译调试;Windows 推荐安装 winlibs 版 MinGW-w64 并配置 PATH,再安装 C/C++、CMake Tools 扩展,最后通过 CMake 或 tasks.json/launch.json 完成构建与调试。

VS Code 本身不是 IDE,而是编辑器,要让它支持 C++ 编译、调试和运行,得靠三样东西:一个可用的 C++ 编译器(如 MinGW-w64 或 Clang)、CMake(可选但推荐)、以及 VS Code 的几个关键扩展和配置文件。下面分步说清楚,不绕弯,照着做就能跑起来。
一、安装编译器(Windows 推荐 MinGW-w64)
Windows 上最轻量、兼容性最好的选择是 MinGW-w64(别用老版 MinGW)。推荐直接下载免安装版:
- 去 mingw-w64.org 或国内镜像(如 SourceForge 搜 "winlibs")下载最新 winlibs-x86_64-posix-seh-gcc-xx.x-x-mingw-w64.zip
-
解压到一个无中文、无空格的路径,比如
C:\mingw64 - 把
C:\mingw64\bin加进系统环境变量PATH(重启终端或 VS Code 才生效) - 打开终端输入
g++ --version和gdb --version,有输出就说明装好了
二、安装必要扩展(VS Code 内操作)
打开 VS Code → 左侧扩展图标(或 Ctrl+Shift+X)→ 搜索并安装以下三个扩展:
- C/C++(Microsoft 官方,提供智能提示、跳转、基础调试支持)
- CMake Tools(官方出品,管理 CMake 项目,比手动写 tasks.json 更稳)
- CMake(可选但建议装,用于语法高亮和基础支持)
装完重启 VS Code。
立即学习“C++免费学习笔记(深入)”;
三、创建项目并配置编译与调试
假设你要写一个简单的 hello.cpp,不依赖 CMake 也能跑,但推荐从 CMake 开始——它更规范、易扩展:
- 新建文件夹,比如
mycpp,用 VS Code 打开这个文件夹 - 按 Ctrl+Shift+P → 输入 “CMake: Quick Start” → 回车 → 输入项目名(如 hello)→ 选 C++
- 自动生成
CMakeLists.txt、main.cpp和.vscode/配置目录 - 按 Ctrl+Shift+P → “CMake: Configure” → 选 MinGW Generator(如 “MinGW Makefiles”)
- 按 Ctrl+Shift+P → “CMake: Build” 编译,生成可执行文件(默认在
build/下) - 按 F5 启动调试(首次会自动生成
.vscode/launch.json,调试器自动设为 GDB)
- 新建
hello.cpp,写好代码后,按 Ctrl+Shift+P → “Tasks: Configure Task” → 选 “Create tasks.json file from template” → “Others” - 替换
tasks.json内容为:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++ build active file",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": ["$gcc"],
"group": "build"
}
]
}
- 再按 Ctrl+Shift+P → “Debug: Open launch.json” → 选 “C++ (GDB/LLDB)” → “g++.exe” → 自动生成
launch.json,确保program字段指向你生成的 .exe,比如:"program": "${fileDirname}/${fileBasenameNoExtension}.exe" - 保存后,Ctrl+Shift+B 编译,F5 调试
四、常见问题快速排查
如果编译失败、F5 没反应或断点不命中,先看这几处:
- 终端里 g++/gdb 找不到? → 检查 PATH 是否包含 MinGW 的 bin 目录,重启 VS Code
-
调试时提示 “Unable to start debugging”? → 看
launch.json中miDebuggerPath是否正确,例如:"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe" -
头文件标红、没有自动补全? → 点击右下角 “C++” 状态栏 → “Edit Configurations (UI)” → 在 “Compiler path” 填入
C:\mingw64\bin\g++.exe,保存后自动重载 -
中文乱码(控制台输出)? → 在
tasks.json的args里加"-fexec-charset=GBK"(Windows 本地编码),或统一用 UTF-8 + 控制台 chcp 65001











