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

相关推荐
Amnesia0_02 小时前
linux中的git和gdb
linux·运维·git
浅念-2 小时前
Linux 进程与操作系统
linux·运维·服务器·网络·数据结构·笔记·网络协议
顶点多余2 小时前
POSIX信号量+生产消费模型应用+环形缓冲区实现
linux·c++
Qinti_mm2 小时前
Linux NUMA自动优化机制全解析
linux·服务器·numa balancing
开开心心就好2 小时前
桌面图标乱了怎么办,一键恢复固定位置工具
运维·服务器·windows·pdf·excel·3dsmax·houdini
zb200641203 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
Agent产品评测局3 小时前
企业采购自动化落地,供应商全生命周期管控实现方案:智能体驱动下的全链路提效与合规治理
运维·人工智能·ai·chatgpt·自动化
SuperEugene3 小时前
Python + venv + VSCode:前端工程师 AI 转型入门 | 基础篇
前端·人工智能·vscode·python
桌面运维家3 小时前
KVM虚拟机:存储IO瓶颈诊断与Linux性能优化实战
linux·运维·性能优化