在 VSCode 中编写、编译和调试 C++ 代码可行但需手动配置工具链与扩展;需安装对应平台编译器、CMake(推荐)、C/C++、CMake Tools、CodeLLDB 或 C++ Debugger 扩展,并配置 c_cpp_properties.json、tasks.json 和 launch.json 三个文件。
在 vscode 中编写、编译和调试 c++ 代码是完全可行的,但需要手动配置工具链(编译器、构建工具、调试器)和 vscode 的扩展与配置文件。它不像 visual studio 那样开箱即用,但轻量、灵活、跨平台。
安装必要组件
确保本地已安装:
-
支持的 C++ 编译器:Windows 推荐 MinGW-w64(含 g++)或 MSVC(需安装 Visual Studio Build Tools);macOS 用 Xcode Command Line Tools(含 clang++);Linux 通常自带 g++,可运行
sudo apt install build-essential(Ubuntu/Debian)补全。 - CMake(可选但推荐):用于管理中大型项目,VSCode 的 CMake Tools 扩展依赖它。
-
VSCode 官方扩展:
- C/C++(由 Microsoft 提供,提供智能提示、跳转、定义等)
- CMake Tools(如使用 CMake)
- CodeLLDB(macOS/Linux)或 C++ Debugger(Windows 默认用 MSVC 或 MinGW 调试器,插件会自动适配)
配置工作区(.vscode 文件夹)
在项目根目录下创建 .vscode/ 文件夹,并添加三个关键 JSON 配置文件:
-
c_cpp_properties.json:告诉 C/C++ 扩展头文件路径、编译器路径、标准(如
"cStandard": "c17", "cppStandard": "c++17")、宏定义等。Windows 下 MinGW 用户需指定"compilerPath": "C:/mingw64/bin/g++.exe"。 -
tasks.json:定义构建任务。例如用 g++ 直接编译单文件:
"args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"]。
保存后可通过Ctrl+Shift+B(Win/Linux)或Cmd+Shift+B(macOS)触发编译。 -
launch.json:配置调试器。关键字段包括:
"program": "${fileDirname}/${fileBasenameNoExtension}"(指定待调试的可执行文件),"miDebuggerPath"(如 MinGW 下填"C:/mingw64/bin/gdb.exe"),"preLaunchTask"(设为上面 tasks.json 中的任务名,确保每次调试前自动编译)。
快速启动单文件开发
对简单练习(比如一个 main.cpp),可跳过 CMake,用以下最小化流程:
- 新建
main.cpp,写好代码(含return 0;) - 按
Ctrl+Shift+P→ 输入 “C/C++: Edit Configurations (UI)” → 图形化生成c_cpp_properties.json - 按
Ctrl+Shift+P→ “Tasks: Configure Task” → 选择 “Create tasks.json from template” → “Others”,然后填入 g++ 编译命令 - 按
Ctrl+Shift+P→ “Debug: Open Configuration” → 选择 “C++ (GDB/LLDB)” → 修改program和miDebuggerPath - 设断点 → 按
F5启动调试
常见问题处理
遇到问题时优先检查:
本文档主要讲述的是Eclipse下的Android-NDK安装;Android NDK 是运行于Android 平台上的Native Development Kit 的缩写。Android 应用开发者可以通过NDK 调用C 或C++ 本地代码。NDK 编译需要用到Cygwin 中的make 和gcc, 所以先来下载并安装Cygwin。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
立即学习“C++免费学习笔记(深入)”;
- 终端里运行
g++ --version或clang++ --version是否正常输出?路径是否被加入系统PATH? - VSCode 右下角状态栏是否显示正确的编译器路径?没显示可点击它手动选择
- 调试失败提示 “Unable to start debugging”?确认
launch.json中program对应的文件存在且有执行权限(Linux/macOS 运行chmod +x xxx) - 智能提示不工作?检查
c_cpp_properties.json中"browse.path"是否包含你用到的标准库或第三方头文件路径
基本上就这些。配置一次,后续同类项目可复用或导出模板。不复杂但容易忽略路径和权限细节。









