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

相关推荐
Neighbor_OldY21 分钟前
云上安全配置审计与误配置修复实战:从安全组、OSS、RAM到数据库的全栈排查复盘
大数据·运维·安全·云计算
开心大爆炸1 小时前
xrdp 连接 登录对话框输入密码后闪退
linux·运维·服务器
oushaojun22 小时前
大厂 C++ 面试:深度剖析 Linux Signal 信号机制(转)
linux
苏生Susheng3 小时前
【软件实施】Linux系统Shell脚本教程
linux·运维·服务器·chrome·spring boot·学习·实施
2601_962304913 小时前
把出片接进自动化流水线:2026 年批量 AI 视频生成工具的脚本契约与同类项目对照
运维·人工智能·自动化
Ruiery3 小时前
Linux 6.6内核 IOMMU 深度解析(七):DMA API 与 IOMMU 集成 — 从 dma_map_single 到 iommu_map
linux·运维·服务器
分支预测失败3 小时前
RISC-V AIA 中断架构实战:从 PLIC 到 APLIC 与 IMSIC 的迁移
linux·后端
GeW3 小时前
RHCE学习拿证计划:锁定核心考点,实现备考效率最大化
linux
snow@li3 小时前
服务器运维:Alibaba Cloud Linux 4 LTS 64位 根目录全景深度解析文章
linux·运维·服务器
实战派K8S&DB3 小时前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi