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

相关推荐
霞姐聊IT5 分钟前
三大并发技术—进程、线程和协程
linux·运维·网络·操作系统
ydyd2026042111 分钟前
设备管理智能化:易点易动如何搭建运维数据可视化闭环体系
运维·信息可视化
南境十里·墨染春水21 分钟前
linux学习进展 网络编程——HTTPS (补充)
linux·网络·学习
t5y2225 分钟前
【Linux】学习小计
linux
老四啊laosi39 分钟前
【Linux系统】18. 基础IO(文件管理部分)
linux·文件操作·重定向
mounter6251 小时前
深度解析 dmabuf/devmem:从图形渲染到 AI 与高性能网络的演进之路
linux·网络·人工智能·内存管理·kernel
北山有鸟1 小时前
RK3588利用NPU加速Lens Shading Correction参数生成
linux
全球通史1 小时前
Jetson Nano语音交互:本地大模型全链路实战
ubuntu·交互
wanhengidc1 小时前
服务器中的算力运行
运维·服务器·网络·安全·web安全
2301_780789661 小时前
漏洞扫描误报处理:从规则优化到人工验证的全流程方案
运维·服务器·网络·安全·web安全