在windows电脑上的vscode使用sftp将项目文件与嵌入式平台(Ubuntu)同步的方法

目录

一、方案说明

[二、在 VS Code 中安装 SFTP 插件](#二、在 VS Code 中安装 SFTP 插件)

三、创建本地项目目录

[四、生成 SFTP 配置文件](#四、生成 SFTP 配置文件)

[五、直接用 VS Code Remote SSH 开发 Ubuntu](#五、直接用 VS Code Remote SSH 开发 Ubuntu)


该个方案适合这种场景:

  • 本地:Windows + VS Code
  • 远端:嵌入式 Ubuntu(开发板 / 工控机 / Jetson / ARM板)
  • 需求:本地写代码,保存后自动同步到板子上运行

一、方案说明

1、Windows 能 SSH 连到 Ubuntu

复制代码
ssh 用户名@嵌入式IP

2、如果上述步骤1连接失败,先检查:Ubuntu 是否安装 SSH 服务

  • 在嵌入式 Ubuntu 上执行:

    sudo apt update
    sudo apt install openssh-server -y

  • 启动服务:

    sudo systemctl enable ssh
    sudo systemctl start ssh

  • 查看状态:

    sudo systemctl status ssh

  • 查看 Ubuntu IP 地址

    ip addr

二、在 VS Code 中安装 SFTP 插件

1、在 VS Code 扩展中搜索:

复制代码
SFTP
  • 安装这个:SFTP - liximomo

三、创建本地项目目录

1、比如你本地项目在:D:\project\my_embedded_app;然后用 VS Code 打开这个文件夹:文件 → 打开文件夹 → D:\project\my_embedded_app

四、生成 SFTP 配置文件

1、在 VS Code 中按:Ctrl + Shift + P;输入SFTP: Config,之后回车,插件会自动在项目目录下生成:.vscode/sftp.json,如下所示

复制代码
{
    "name": "xxxxx",
    "host": "192.168.10.2",
    "protocol": "sftp",
    "password": "xxxxx",
    "port": 22,
    "username": "xxxxx",
    "remotePath": "/home/nvidia/Desktop/xxxxxx/",
    "uploadOnSave": true,
    "useTempFile": false,
    "openSsh": false
}

上述中,输入嵌入式 Ubuntu的名称、IP地址、密码、登录用户名、要同步到的项目目录;"uploadOnSave": true是每次 Ctrl+S 保存文件,就自动上传到 Ubuntu;

上述操作后,就可以将文件同步到嵌入式 Ubuntu上了,同时,可以通过ssh xxxxx@192.168.10.2 访问查看是否有同步。

2、将嵌入式 Ubuntu上的文件同步到Windows上

在 VS Code 中按:Ctrl + Shift + P;输入SFTP: Download Project就可以了

上述方法有个弊端,就是在 Windows 的 VS Code 里写的是"给 Ubuntu/ARM/Linux 环境跑的 C++ 项目",但 VS Code 当前用的却是 Windows 本机的编译/智能提示环境,会出现报红提示,是因为当前 VS Code 没真正使用 Ubuntu 上的开发环境。如果想要解决该问题,可以看步骤五的方法。

五、直接用 VS Code Remote SSH 开发 Ubuntu

1、在 Windows 的 VS Code 中安装这个插件:Remote - SSH;

2、在 Windows PowerShell 里执行:ssh 用户名@嵌入式IP;如果能进入 Ubuntu,说明 SSH 通了。

3、先把 Ubuntu 主机加到 SSH 配置里,再连接

(1)在 VS Code 中按:Ctrl + Shift + P

(2)输入这个命令:Remote-SSH: Add New SSH Host...

(3)输入你的 SSH 连接命令:ssh 用户名@Ubuntu_IP

(4)选择 SSH 配置文件:C:\Users\你的Windows用户名\.ssh\config

(5)VS Code 会自动帮你生成 SSH 主机配置;它会在你的 Windows SSH 配置文件里写入类似内容:

复制代码
Host 192.168.1.88
    HostName 192.168.1.88
    User nvidia

(6)现在开始真正连接:

  • 再次按:Ctrl + Shift + P;
  • 输入:Remote-SSH: Connect to Host...
  • 回车;就会看到刚才加进去的主机,例如:192.168.1.88

(7)第一次连接时,VS Code 可能会问你远端系统类型

  • 会弹出一个选择框,例如:Select the platform of the remote host
  • 选择:Linux 。(因为你的嵌入式平台是 Ubuntu。)

(8)如果第一次连接,会弹出密码框:如果你是密码登录,就输入 Ubuntu 登录密码

(9)等待 VS Code 安装远程服务

第一次连接时,VS Code 会自动在 Ubuntu 上安装一个组件:VS Code Server

你会看到底部或右下角出现类似提示:Installing VS Code Server...

或者:Setting up SSH Host...

这是正常的,第一次通常需要 几十秒到几分钟

(10)连接成功后,会自动打开一个"新的远程 VS Code 窗口"

连接成功后,VS Code 通常会"重新打开一个新窗口",你会发现:左下角会显示类似:SSH: 192.168.1.88;这就表示你已经进入远程 Ubuntu 环境了。

这一步成功后,你的 VS Code 就不再是"纯 Windows 本地模式",而是:Windows 显示界面 + Ubuntu 真实开发环境了。

(11)打开 Ubuntu 上的项目目录

在已经连接远程 Ubuntu 的 VS Code 窗口中点击:File -> Open Folder...

弹出 Ubuntu 的远程文件夹选择窗口,选择你的项目目录,例如:/home/nvidia/project/my_project。

相关推荐
开开心心_Every6 分钟前
文件强制删除工具,单文件拖入解锁删除简单
运维·edge·pdf·计算机外设·逻辑回归·散列表·启发式算法
代码论斤卖12 分钟前
OpenHarmony的watchdog service频繁崩溃问题分析
linux·harmonyos
halazi10016 分钟前
WSL 安装与 Ubuntu 24.04 配置使用指南
linux·运维·ubuntu·wsl
MDIOT旗舰25 分钟前
4G低功耗边缘计算网关:让智能抄表与远程运维从未如此简单
运维·人工智能·边缘计算·modbus·红外抄表·plc智能网关
2302_8031322525 分钟前
ensp中关于交换机S3700不被识别的错误列举以及vlan 绑定acl后无法删除问题
运维·服务器·网络
拾贰_C25 分钟前
【Ubuntu | Nvidia | driver | installation | commend】
linux·运维·ubuntu
.柒宇.32 分钟前
Linux 时间同步服务:Chrony 深度笔记
linux·运维·服务器
赴前尘32 分钟前
S3 命令行工具 Docker 容器运行
运维·docker·容器
Strugglingler33 分钟前
Linux Device Drivers-第六章 高级字符驱动操作
linux·笔记
zjeweler34 分钟前
云服务器centos7.6搭建个人网站教程
运维·服务器