龙空技术网

VS Code 构建基于sftp的远程Linux开发环境

软核改造祝融叔 172

前言:

目前咱们对“ubuntu搭建sftp”都比较着重,大家都想要知道一些“ubuntu搭建sftp”的相关内容。那么小编也在网上网罗了一些关于“ubuntu搭建sftp””的相关文章,希望姐妹们能喜欢,小伙伴们快快来了解一下吧!

为什么要构建远程Linux开发环境?有很多需求:

一种情况比如开发人员的机器是Windows,但是编译和运行环境是Linux远程服务器。

另外一种嵌入式开发环境,现在很多arm64的开发板,比如象瑞芯微的RK3399,RK3588,都是双核,八核的CPU,而且运行ubuntu.这样可以在板上直接运行gcc和各种运行库,因为可以用apt在线安装,比在笔记本的ubuntu安装开发工具更为方便。

但是直接远程写代码的体验往往一言难尽,比如网络不好,敲一个字符串要响应半天,因为是这种操作方法把把远程调入到本机内存进行操作,在编译和编译器进行网络交互非常多,经常卡顿。

嵌入式开发板上,用gcc编译程序问题不大,但是跑一个代码编辑器是完全跑不动。如果用vim来开发,对于大多开发者要求太高。

一种比较完美的解决办法

这是我介绍用vs code这个开发神器建立一个在本地编辑环境,但会自动同步到远程Linux进行编译和运行方案。

我日常开发MavROS的开发,这里我们用一个ubuntu 22.04安装vs code作为开发主机,用远程RK3588来做ROS 开发的远程环境来举例说明。

代码之类本身是在本地计算机一个项目目录完成的,不存在卡顿和断网丢失的问题,而修改后同步更新到服务器或开发板上同名的目录里,效率大大增强。

只需要在开发者的安装 vs code + sftp插件即可。可以是windows,ubuntu或MacOSX都行.

安装好vscode后,我们来安装 sftp插件。在扩展搜索SFTP安装即可。

这个扩展操作项目目录的前提是在项目目录根目录的.vscode目录下编译一个配置文件s

你也可以用插件命令自动创建,在当前项目中,输入ctrl + shift + p,之后输入 SFTP: config,会新建这个 s 文件并打开进行编辑。

这个s可以可以支持很多功能,比如多服务器支持,即一次编写,同步到多台服务器,这里我们给一个最常用模板,其余有兴趣可以查询文档

{    "name": "mymac",    "host": "192.168.85.2",    "protocol": "sftp",    "port": 22,    "username": "root",    "password":"xxxxx",    "remotePath": "/home/sguav/taskros/",    "uploadOnSave": true,    "useTempFile": false,    "openSsh": false}

编辑好后重启vscode,侧边栏出一个sftp图标,点击打开远端的同步目录查看源码情况,如果没有报错,说明整个环境建立成功

自动同步与手动同步方案

接下来我们要设置自动同步方案,方法就在vs code 设置自动保存后,会自动同步到远程目录上.

首先打开左下方齿轮点击设置

在上方搜索栏,搜索auto save

在文件自动保存选择 onFocusChange,也就是光标移出当前编辑窗就保存。

点击状态栏下方的sftp,可以在输出窗口,看到文件保存和同步动作,这都是自动的。

当然还有一些情况需要手动保存,比如断网续传或者把远程生成文件下载下来。

在工作区选择点击任意文件,打开右键菜单,有Upload File/Download File 功能

如果本地没有,但是远端有的,可以在SFTP打开远端窗口,同样有Upload File/Download File

远端编译,本地定位源码

使用IDE有一个重要功能就是当编译错误,你能直接点击打开源码的发生错误的地方,这种远程开发环境怎么跳转了?

首先编译时候必须要打开vs code 终端,用ssh联接到远端进行编译,

同时就是本地,远程的目录结构要设成一样的,我的做法两端都创建一个专门用于开发的帐号,把两端的路径设成一样,这样当发生编译错误提示,我只要按下ctrl,并点击错误的文件名就会跳转相应代码中,非常方便。

比如下个例子提示在 fusee/CMakeLists.txt:58 (add_service_files) 发生错误,我只要ctrl加文件名会自动跳转58行

库的头文件也如此操作,比如我的ROS系统是melodic,我会把远程的/opt/ros/melodic/include在本地也做一个同样路径备份,这样牵涉到ROS内部错误,可以直接跳转,跟本地开发没有区别。

而 这个share目录没有拷贝下来,则无法跳转,可以也下载下来

CMake Error at /opt/ros/melodic/share/genmsg/cmake/genmsg-extras.cmake:138 (message):

配色方案

这是我比较喜欢的配色方案,你可以在扩展搜索 Hivacruz Theme 安装,这个在Dark模式没有那么刺眼,推荐给你们。

#头条创作挑战赛#

标签: #ubuntu搭建sftp