windows可以通过WSL建立ubuntu环境,但如果windows上的vscode直接访问ubuntu里面的代码的话是不能保持linux开发环境的,如下图所示,在vscode的terminal窗口输入make或make clean就会遇到下面的错误。
解决的办法是先安装vscode 插件:WSL,如下图所示
然后点击左边的Remote explorer找到WSL target: ubuntu-20.0.4,右击它选择在当前窗口打开它
第一次启动会耗时2~3分钟来加载server,如下图所示
加载进来后打开指定代码目录就可以在terminal窗口下输入linux命令运行了。
先在.vscode目录下自动创建launch.json和tasks.json,如下图所示
然后在launch.json输入正确参数,如下所示。
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "your exe program,比如main",
"args": [可执行程序所带的参数,比如"-p", "/work/xxx/xxx"],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
]
}
容易出现错误的地方是要debug 的可执行程序及其参数的添加,以及 "miDebuggerPath": "/usr/bin/gdb"的指定。
同时还要安装c/c++ IntelliSense插件。
最后别忘了在CMakeList(如果有的话)里面将编译方式改成Debug,并重新全部编译:
按F9设置断点,点击F5就能启动debug了。