1.vscode比较常用的几个插件
C/C++ 、C++ Intellisense、Text Marker (Highlighter) 、Project Manager、Better C++ Syntax、
Project Manager,GitLens — Git supercharged
PlantUML-》这个是用于话UML图的,根据需要来安装
2.配置vscode编译脚本
linux下配置好task.jason后,就可以运行编译了。
特别说明:由于编译时需要依赖libnedoipstackserver.so,所有增加了-L选项和-l(小写的L)选项。
前一个用于指定.so库的地址,后面用于指定依赖的so文件名称。
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc 生成server",
"command": "/usr/bin/gcc",
"args": [
"-fdiagnostics-color=always",
"-g",
"/home/pw/Desktop/DoIP_Stack/doip_server/main.c",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-L/home/pw/Desktop/DoIP_Stack/bin/Debug",
"-lnedoipstackserver"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "编译器: /usr/bin/gcc"
}
]
}
3.配置vscode调试脚本
为了调试,需要配置launch.json文件,具体参考下面:
说明:由于对应的可运行文件运行需要依赖libnedoipstackserver.so,在程序运行时会在
/usr/lib或者/lib这两个默认的目录下边找对应的so文件。一般解决办法见:
https://www.csdn.net/tags/NtzaUg3sMjYzMjYtYmxvZwO0O0OO0O0O.html
但是这个办法会需要修改文件,比较简单的方式是在vscode的environment中增加参数。具体见下面的文件。
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "my debug", //这个应该是F1中出现的名字
//"preLaunchTask": "Build", //在launch之前运行的任务名,这个名字一定要跟tasks.json中的任务名字大小写一致,注释掉preLaunchTask可以直接调试编译好的运行程序,从而忽略tasks.json配置编译
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}", //需要运行的是当前打开文件的目录中,名字和当前文件相同,但扩展名为exe的程序
"args": [],
"stopAtEntry": false, // 选为true则会在打开控制台后停滞,暂时不执行程序
"cwd": "${workspaceFolder}", // 当前工作路径:当前文件所在的工作空间
"environment": [
{
"name": "LD_LIBRARY_PATH",
"value": "/home/pw/Desktop/DoIP_Stack/bin/Debug/"
}
],
"externalConsole": false, // 是否使用外部控制台,选false的话,我的vscode会出现错误
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}