本文仅供参考,更详细的配置还是去看官网。
因为笔试要用到 C++,之前一直用 visual studio 的,但是笔试一般就写个代码片段,不需要大工程,因此选择 vscode 配合 wsl,选 wsl 是因为安装包方便
CMake调试配置
Ref: VSCode – How To Debug A WSL C++/CMake Project (matgomes.com)
安装依赖
apt-get
安装以下包:
- GCC/G++ compiler: the C++ compilation tools.
- GDB debugger: the equivalent debugger for your compiler.
- Make: build system to be used by CMake.
- CMake
vscode配置
CMake扩展配置
CTRL + SHIFT + P
输入>CMake: Select a Kit
来选择编译器,比如gcc- 输入
>CMake: Configure
创建build目录 >CMake: Build
进行编译
添加launch.json
- 选择左侧调试的按钮,创建launch.json
- vscode会自动检查debug的环境,生成launch.json,其中的配置可能多余也可能不全
- 接下来就是根据需要修改launch.json:
-
具体的环境变量在这里查看
-
json中type的列表使用IntelliSense的提示
CTRL+SPACE
或CTRL+I
来查看
许多IDE都是
CTRL+SPACE
提示,但是由于和中文输入法快捷键冲突1,可以直接使用CTRL+I
或修改vscode快捷键为CTRL+L
下面是minimalist的launch.json配置2
{
"configurations": [
{
"name": "TestZeroZero", // 配置的名称
"type": "cppdbg",
"request": "launch", // debug模式,分为launch和attach
"program": "${workspaceFolder}/build/tests/multiply_test", // 需要修改为编译后生成的二进制文件
"cwd": "${fileDirname}", // ${fileDirname}指当前打开的文件目录
"miDebuggerPath": "/usr/bin/gdb", // gdb路径
"args": [
"--gtest_filter=MultiplyTests.TestIntegerZero_Zero"
],// 参数,根据自己的程序调整
"environment": [
{
"name": "GTEST_COLOR",
"value": "0"
}
]//debug session中的环境变量
}
]
}
不使用CMake的工程调试配置
单个文件
Wsl C++ 环境
apt get install build-essential
apt get install gdb
vscode 配置
- 安装 C++ 扩展
- 开启 wsl 窗口
- 写个 cpp 文件,选择调试,选择 g++ 配置,就会自动生成以下文件
.vscode
文件夹下的 launch.json
{
"name": "g++ build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++ build active file",
"miDebuggerPath": "/usr/bin/gdb"
}
还有 task.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ 生成活动文件",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
PREVIOUS个人服务器v2ray服务端及网盘配置