VSCode 工作区配置文件通用模板(CMake + Ninja + MinGW/GCC 编译器 的 C++ 或 Qt 项目)

下面是一个通用模板 ,适用于大多数使用 VSCode + CMake + Ninja + MinGW/GCC 编译器 的 C++ 或 Qt 项目。你可以将这个 .vscode 文件夹复制到你的项目根目录下,稍作路径调整即可使用。


📁 .vscode/ 目录结构(通用模板)

复制代码
.vscode/
├── settings.json       # 工作区设置(CMake 配置)
├── tasks.json          # 构建任务配置(CMake Configure & Build)
└── launch.json         # 调试器配置(GDB)

✅ 1. settings.json

json 复制代码
{
  "cmake.generator": "Ninja",
  "cmake.configureOnOpen": true,
  "cmake.buildDirectory": "${workspaceFolder}/build",
  "cmake.clearOutputBeforeBuild": true,
  "cmake.useCmakeListsTxt": true,
  "files.exclude": {
    "**/.git": true,
    "**/.DS_Store": true,
    "**/__pycache__": true
  },
  "editor.tabSize": 4,
  "editor.formatOnSave": true
}

⚙️ 说明:

  • 使用 Ninja 作为生成器;
  • 打开项目时自动配置 CMake;
  • 构建输出目录为 build/
  • 排除一些不必要的文件显示在资源管理器中;
  • 设置默认缩进为 4 空格,保存时格式化代码。

✅ 2. tasks.json

json 复制代码
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "CMake: Configure",
      "type": "shell",
      "command": "cmake",
      "args": ["-B", "${workspaceFolder}/build", "-G", "Ninja"],
      "group": { "kind": "build", "isDefault": true },
      "problemMatcher": ["$cmake"]
    },
    {
      "label": "CMake: Build",
      "type": "shell",
      "command": "cmake",
      "args": ["--build", "${workspaceFolder}/build"],
      "group": { "kind": "build", "isDefault": true },
      "problemMatcher": ["$cmake"]
    },
    {
      "label": "CMake: Clean",
      "type": "shell",
      "command": "rm -rf build/*"
    }
  ]
}

⚙️ 说明:

  • CMake: Configure:运行 cmake -B build -G Ninja 来配置构建系统;
  • CMake: Build:运行 cmake --build build 进行编译;
  • CMake: Clean:清理构建目录(仅限 Unix-like 系统);
    • 如果你在 Windows 上使用 CMD 或 PowerShell,可以用如下命令代替:
bash 复制代码
rd /s /q build && mkdir build

✅ 3. launch.json

json 复制代码
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "GDB Debug",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/build/myapp.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": true,
      "MIMode": "gdb",
      "miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe"
    }
  ]
}

⚙️ 说明:

  • "program" 是你要调试的可执行文件路径;
  • "miDebuggerPath" 根据你安装的 GDB 路径修改;
    • 如果你用的是 MSYS2 或 MinGW-w64,请确认 gdb.exe 存在;
    • 如果你用的是 MSVC(Visual Studio 编译器),则需要使用 Windows Debugger 插件。

🧪 使用方法

  1. 把这三个文件放到你的项目根目录下的 .vscode/ 文件夹中;
  2. 确保你的项目根目录有 CMakeLists.txt
  3. Ctrl+Shift+P,输入并运行 CMake: Configure
  4. Ctrl+Shift+B 构建项目;
  5. F5 启动调试器;

📦 可选建议(针对 Qt 项目)

如果你是 Qt 项目,确保 CMakeLists.txt 中包含以下内容:

cmake 复制代码
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUI ON)

find_package(Qt6 COMPONENTS Widgets REQUIRED)

target_link_libraries(myapp PRIVATE Qt6::Widgets)

📝 提示:路径问题要特别注意!

  • miDebuggerPath 要根据你实际安装路径填写;
  • program 要指向你生成的 .exe 文件路径;
  • 如果你不知道路径,可以在终端中运行:
bash 复制代码
which gdb

🎁 小福利:一键创建脚本(可选)

如果你经常新建项目,可以写一个 Python 或 Shell 脚本来自动生成 .vscode 文件夹和配置。
VSCode 工作区配置文件通用模板创建脚本

相关推荐
HugoStudio_SWAN35 分钟前
洛谷 P1420 / P1179 / B4262 最长连号、数字统计与词频统计——统计的三种面孔
c++·学习·程序人生·算法
raindayinrain1 小时前
c++并发
c++
j7~2 小时前
【C++】智能指针的使用及其原理--详解
c++·c++11·内存泄漏·智能指针·raii·boost智能指针
Persistent的粽子!3 小时前
C++:类与对象(一)
开发语言·c++·经验分享·笔记
飘忽不定的bug3 小时前
ubuntu20.04交叉编译QT5.15.12(RK3562+ubuntu20.04)
linux·qt·ubuntu
库玛西3 小时前
深入浅出Linux select网络模型:从底层位图原理到C++面向对象高级封装
linux·服务器·网络·c++·ubuntu
面包狗AI4S3 小时前
Codex/ChatGPT 反复 Reconnecting(正在重新连接) 5/5 的最简修复方法
人工智能·vscode·chatgpt
2402_882893863 小时前
深入浅出 unordered_map 与 unordered_set——从使用到底层差异
c++·哈希·unordered_map·unordered_set
今天要早睡_4 小时前
C++ 核心语法速过:命名空间、引用、函数重载与 nullptr 深度解析
android·java·c++
汉克老师4 小时前
CSP-J 初赛(以满分为目标):第二十七课 《图的遍历——BFS广度优先搜索——像“水波纹”一样,一层一层地搜索》
c++·csp-j·小学生·学c++编程