本项目的重点:在 Visual Studio Code 中配置和使用 tasks.json(任务)与 launch.json(启动/调试配置),配合 CMake 生成并调试一个最小的 C++ 可执行文件。
仓库概要
CMakeLists.txt:CMake 构建脚本src/main.cpp:示例程序build/:CMake 生成的输出(建议加入.gitignore).vscode/tasks.json:定义了常用构建/清理/配置任务(仓库已包含).vscode/launch.json:调试配置(下面有示例)
如果你的目标是教别人如何在 VS Code 中定义任务与启动项,这份仓库示例已经包含可直接使用的 tasks.json(用于配置、构建、清理与复合任务)。下面说明如何使用与配置。
快速开始(在 VS Code 中)
- 打开项目文件夹:
File > Open Folder...,选择本仓库根目录。 - 首次使用建议先运行
配置项目任务,生成build/目录:按Ctrl+Shift+P输入Tasks: Run Task,选择配置项目。 - 然后运行
生成项目(或使用快捷键Ctrl+Shift+B,若已将某任务标记为默认构建任务)。
如何运行任务
- 打开命令面板
Ctrl+Shift+P,输入Tasks: Run Task,选择希望执行的任务(例如生成项目、清理项目、重新生成项目)。 - 默认构建任务:
Ctrl+Shift+B会运行tasks.json中group.kind == "build"且isDefault == true的任务(示例中为生成项目)。
调试(launch.json 示例)
将 preLaunchTask 指向 生成项目,确保在启动调试前可执行文件已构建。仓库根目录下的 .vscode/launch.json 包含一个 Windows/MSVC 的配置示例如下:
说明:
type: 在 Windows + MSVC 下使用cppvsdbg;若使用gdb/lldb(如 MinGW/WSL)请改为cppdbg并调整相应miDebuggerPath。program: 指向编译生成的可执行文件路径(根据你的 CMake 输出目录调整)。preLaunchTask: 指定在开始调试前自动运行的任务(本仓库中的生成项目)。
如何让 launch.json 找到正确的可执行
- 如果你的 CMake 配置生成到不同目录(例如
build/bin或使用多配置生成器),请修改program指向正确输出路径。你也可以使用变量或在 CMake 中固定输出目录。
示例流程(从 VS Code 里)
- 打开命令面板 ->
Tasks: Run Task->配置项目(只需做一次或在需要时)。 - 按
F5(或点击调试面板的绿色运行按钮)启动调试,VS Code 将先执行preLaunchTask(即生成项目),然后启动调试会话。
可选:使用 CMake Tools 扩展
- 若想要更自动化、图形化的 CMake 支持(选择编译器、配置、调试目标),可以安装 Microsoft 的
CMake Tools扩展。该扩展会自动检测 CMake 配置,提供 "Build"/"Configure"/"Debug" 按钮,并能生成更复杂的launch.json。
{ "version": "0.2.0", "configurations": [ { "name": "Debug HelloWorld (Windows)", "type": "cppvsdbg", "request": "launch", "program": "${workspaceFolder}/build/Debug/HelloWorld.exe", "args": [], "cwd": "${workspaceFolder}", "stopAtEntry": false, "preLaunchTask": "生成项目" } ] }