c_cpp_properties.json
这里给出Linux和Windows两个平台的配置。
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/clang++",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
},
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.16.27023include",
"C:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.16.27023ATLMFCinclude",
"C:Program Files (x86)Windows Kits10Include10.0.18362.0ucrt",
"C:Program Files (x86)Windows Kits10include10.0.18362.0shared",
"C:Program Files (x86)Windows Kits10include10.0.18362.0um",
"C:Program Files (x86)Windows Kits10include10.0.18362.0winrt",
"C:Program Files (x86)Windows Kits10include10.0.18362.0cppwinrt",
"E:dev-libboost_1_73_0"
],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "C:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.16.27023binHostx64x64cl.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "msvc-x64"
}
],
"version": 4
}
tasks.json
前两个 task 是Linux环境的(第一个是清空build目录,第二个是配置CMake),第三个 task 是Windows下配置CMake的。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "clean",
"type": "shell",
"command": "rm -r build/*"
},
{
"label": "configure",
"type": "shell",
"command": "cmake",
"args": [
"--no-warn-unused-cli",
"-DCMAKE_C_COMPILER=/usr/bin/clang",
"-DCMAKE_CXX_COMPILER=/usr/bin/clang++",
"-DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE",
"-DCMAKE_BUILD_TYPE=Debug",
"-H${workspaceFolder}",
"-B${workspaceFolder}/build",
"-G'Unix Makefiles'"
]
},
{
"label": "MSVC configure",
"type": "shell",
"command": "cmake",
"args": [
"-H${workspaceFolder}",
"-B${workspaceFolder}/build",
"-GNinja"
]
}
]
}
launch.json
第一个是在Linux用 gdb 调试,第二个是在Linux下用 lldb 调试,第三个是在Windows用MSVC的 cl.exe 调试。
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/test_main",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
{
"name": "(lldb) Launch",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/build/test_main",
"args": [],
},
{
"name": "(cl) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}buildtest_main.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
}
]
}










