在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。

相关推荐
GeW5 分钟前
国产化替代进入深水区之后Linux 与数据库为什么必须走向重建
linux
万联WANFLOW16 分钟前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
十碗饭吃不饱1 小时前
SSH 密钥认证详解:原理、实操、参数、排错与加固
运维·ssh
echoarts1 小时前
服务器连不上?FileZilla 改被动模式就好了
运维·服务器·其他
无言听风雨丶2 小时前
Redis 运维实战与排错
运维·数据库·redis
QXWZ_IA2 小时前
变电站数字孪生巡检的能力分层、数据接入与空间计算边界
运维·服务器·空间计算
longzhizhui9262 小时前
Ubuntu 全版本 CVE-2026-98432 内核安全升级操作手册
ubuntu·网络安全·云计算·bash
miaobinfei3 小时前
docker拉取dify镜像,执行docker compose up -d 报错
运维·docker·容器
女神下凡3 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
天远API3 小时前
零信任架构实战:基于天远租凭分期报告构建自动化智慧租房免押分期履约评估网关
运维·人工智能·架构·自动化