文章目录
- 远程连接
- CMakePresets.json的配置
- Task.vs.json配置
- launch.vs.json配置
最近使用别人在VS2015上使用visualgdb搭建的linux开发环境,各种不顺手,一会代码不能调转了,一会行号没了,调试的时候断不到正确的位置,取消的断点仍然会进。因此重新摸索了一套使用vs的远程开发方法。
使用的相关工具及技术涉及:
Vs2022 Ninja g++ gcc mobaxterm等。
远程连接
采用ssh,需要在被连接系统上开启SSH服务。如果是联网的系统,直接安装,如果不能联网,则需要从openssh源码构建了。
在VS2022 中,工具-》选项,
打开如下界面:
在右边可以添加连接:
主机名即IP地址,端口一般为22,需要在被连接系统上开启SSH服务。
新建跨平台工程,或者打开现有cmake工程,选择调试设备。
接下来的使用就和正常在本机设备调试一样了。
通过这种方式,一般使用Cmake进行项目的构建管理,可以支持跨平台的编译。
CMakePresets.json的配置
在cmakepresets.json中,可以添加编译配置,比如window上默认有4个debug/release x64/x86。在linux上需要自己在configurePresets下新建一个组别。
{
"name": "linux-debug",
"displayName": "Linux Debug",
"generator": "Ninja",
"binaryDir": "${sourceDir}/out/build/${presetName}",
"installDir": "${sourceDir}/out/install/${presetName}",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
},
"vendor": {
"microsoft.com/VisualStudioRemoteSettings/CMake/1.0": {
"sourceDir": "$env{HOME}/.vs/$ms{projectDirName}"
}
}
},
其中sourceDir可以控制我们代码上传的远程路径,默认在家目录的.vs文件夹下面。
generator这个,推荐使用ninja。如果远程系统上没有,可以联网安装。如果远程系统不能联网,或者无sudo权限,就需要从源码构建。笔者就是从源码进行了构建,需要下载两个源码包,
具体可以参考这个
https://blog.csdn.net/qq_42224262/article/details/121871876
Task.vs.json配置
使用cmake进行编译,这个一般不用设置,但可以用来增加一个自定义的功能。
可以在目录和文件上右击,新建一个任务
下面所示的