文章

VS远程开发

VS远程开发

该文记录使用 Visual Studio 2022 进行 Linux 远程开发。

VS远程开发

要做 Linux 开发,但是本机环境是 Windows,于是采用 VS 实现远程开发和调试。

1. 环境

  • Windows11
  • Visual Studio 2022
  • UOS20

2. UOS20配置

2.1. SSH

2.1.1. 安装及启动

1
2
3
4
5
6
# 安装
sudo apt install ssh
# 启动
sudo systemctl restart sshd.service
# 自启动
sudo systemctl enable sshd.service

2.1.2. 配置文件

SSH 配置文件路径 /etc/ssh/sshd_config,一般需要开启端口和 root 权限。

1
2
3
4
Port 22                     # 设置SSH的端口号是22(默认端口号为22)
ListenAddress 0.0.0.0       # 设置服务监听的地址
PermitRootLogin yes         # 允许root用户登陆
PasswordAuthentication yes  # 是否允许密码验证

2.2. 配置环境

1
2
3
4
5
6
7
8
# 下载gcc/g++
sudo apt install gcc
sudo apt install g++
sudo apt install gdb
# 下载cmake
sudo apt install cmake
# 下载ninja
sudo apt install ninja-build

如果不能满足自己的环境需求,可以自己下载源码进行编译。

3. Visual Studio配置

3.1. VS 组件安装

  • 使用 C++ 的桌面开发
  • Linux, Mac, and embedded development with C++

VS 主界面选择【继续但无需代码】

3.2. 修改 CMake 默认配置

CMake 配置文件选择【从不使用CMake预设】,自定义 CMakeSettings.json 可以控制更精细。

CMake 配置步骤选择【永不自动运行配置步骤】,所有改好后手动生成,减少卡顿。

3.3. CMake 项目

创建或打开一个 cmake 工程

3.4. 管理连接

点击【管理连接】

点击【添加】按钮,根据提示输入远程系统信息,创建连接

3.5. 管理配置

点击【管理配置】

可以根据提示进行选择,但是为了熟悉了过后直接点击【编辑JSON】,进行 json 编辑更加简单和准确

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  "configurations": [
    {
      "name": "Linux-GCC-Debug",
      "generator": "Ninja",
      "configurationType": "Debug",
      "cmakeExecutable": "cmake",
      "remoteCopySourcesExclusionList": [ ".vs", ".git", "out", "build*" ],
      "cmakeCommandArgs": "-D\"QT_PATH=/opt/deepin-shared-libs/Qt5.15.10gles/\" -D\"SCCM_TEST=ON\"",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "inheritEnvironments": [ "linux_x64" ],
      "remoteMachineName": "1053509393;172.18.82.240 (username=scca, port=22, authentication=Password)",
      "remoteCMakeListsRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/src",
      "remoteBuildRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/out/build/${name}",
      "remoteInstallRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/out/install/${name}",
      "remoteCopySources": true,
      "rsyncCommandArgs": "-t --delete",
      "remoteCopyBuildOutput": false,
      "remoteCopySourcesMethod": "rsync",
      "remoteCopyExcludeDirectories": [],
      "intelliSenseMode": "linux-gcc-x64",
      "remoteCopyUseCompilerDefaults": true
    }
  ]
  • configurationType:编译类型
  • remoteCopySourcesExclusionList:拷贝到远程不包含文件
  • cmakeCommandArgs:cmake 条件编译

点击【配置缓存】,或者根据提示点击【生成】,就会把项目数据拷贝到远程环境,并进行 cmake 构建工程

3.6. 项目运行

右键项目点击全部生成即可,如果已经适配即可全部编译成功

选择其中一个可以运行项目,选择【设置为启动项】,这样就可以和正常 Windows 上开发一样可以运行和调试了。

4. 总结

4.1. 终端

点击【视图】【终端】,可以打开一个命令行终端,可以在下拉框选择添加的远程连接。

参考

本文由作者按照 CC BY 4.0 进行授权