安装插件
- c/c++插件 ms-vscode.cpptools
C++拓展新版本不支持cursor,需要将版本退回到1.23.6之前的,如果无法安装回退版本,解决方案是下载github源码上特定版本的visx文件。v1.23.6
例如本次使用的就是cpptools-windows-x64.vsix - cmake插件 ms-vscode.cmake-tools
配置文件
- launch.json
json
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug mine-cpp",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/mine-cpp.exe",
"cwd": "${workspaceFolder}",
"MIMode": "gdb",
"miDebuggerPath": "C:/MinGW/bin/gdb.exe",
"preLaunchTask": "CMake: build"
}
]
}
- settings.json
json
{
"cmake.cmakePath": "C:/Program Files/CMake/bin/cmake.exe",
"cmake.sourceDirectory": "${workspaceFolder}",
"cmake.useCMakePresets": "always",
"cmake.environment": {
"PATH": "C:\\MinGW\\bin;C:\\Program Files\\CMake\\bin;${env:PATH}"
},
"cmake.enableLanguageServices": true,
"terminal.integrated.env.windows": {
"PATH": "C:\\MinGW\\bin;C:\\Program Files\\CMake\\bin;${env:PATH}"
},
"C_Cpp.default.compileCommands": "${workspaceFolder}/build/compile_commands.json",
"C_Cpp.default.compilerPath": "C:/MinGW/bin/g++.exe",
"C_Cpp.default.cppStandard": "c++17",
"C_Cpp.default.intelliSenseMode": "windows-gcc-x64"
}
- tasks.json
json
{
"version": "2.0.0",
"tasks": [
{
"label": "CMake: build",
"type": "shell",
"command": "cmake",
"args": ["--build", "${workspaceFolder}/build"],
"options": {
"cwd": "${workspaceFolder}",
"env": {
"PATH": "C:\\MinGW\\bin;C:\\Program Files\\CMake\\bin;${env:PATH}"
}
},
"group": { "kind": "build", "isDefault": true },
"problemMatcher": ["$gcc"]
},
{
"label": "CMake: clean",
"type": "shell",
"command": "cmake",
"args": ["--build", "${workspaceFolder}/build", "--target", "clean"],
"options": {
"cwd": "${workspaceFolder}",
"env": {
"PATH": "C:\\MinGW\\bin;C:\\Program Files\\CMake\\bin;${env:PATH}"
}
},
"problemMatcher": []
}
]
}
- CMakeLists.txt
c
cmake_minimum_required(VERSION 3.16)
project(mine-cpp LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_executable(mine-cpp src/main.cpp src/byte_demo.cpp)
- CMakePresets.json
json
{
"version": 3,
"configurePresets": [
{
"name": "mingw-debug",
"displayName": "MinGW Makefiles --- Debug",
"generator": "MinGW Makefiles",
"binaryDir": "${sourceDir}/build",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_CXX_COMPILER": "C:/MinGW/bin/g++.exe",
"CMAKE_MAKE_PROGRAM": "C:/MinGW/bin/mingw32-make.exe"
}
}
],
"buildPresets": [
{
"name": "mingw-debug",
"configurePreset": "mingw-debug"
}
]
}
配置cmake预设
-
ctrl+shift+p,输入CMake: Select Configure Preset

-
选择MinGW Makefiles --- Debug

完整结构
