ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

VS Code Remote-SSH 连接树莓派:远程开发环境搭建与优化指南

VS Code Remote-SSH 连接树莓派:远程开发环境搭建与优化指南 1. 为什么我建议用 VS Code SSH 做树莓派开发先说说我为什么折腾这套方案。树莓派这类小板子性能终究有限你让它跑个编辑器加一堆插件内存和 CPU 很快就吃不消了。我之前试过直接在树莓派上装桌面版 VS Code打开稍微大一点的项目文件风扇就开始狂转切个标签页都能明显感觉卡顿。更别提树莓派屏幕就那么点大来回切换代码和终端窗口简直是折磨。后来换成了 VS Code Remote-SSH 方案体验直接上了一个档次。本地电脑上跑完整版 VS Code树莓派只负责执行代码、编译程序、运行服务所有编辑操作都在本地完成延迟几乎感觉不到。代码保存在远程终端也直接集成在编辑器底部改完代码按个快捷键就能在同一个界面里运行 Python 脚本或者编译 C 程序这种感觉就像在操作一台本地电脑一样自然。这套方案具体能做什么你可以躺在沙发上用笔记本连接客厅里的树莓派写代码可以早上在公司电脑上连接家里的树莓派继续昨天晚上没调完的程序也可以在树莓派跑着某个服务的时候随时用 VS Code 打开日志文件观察运行状态。对于经常玩树莓派的人不管是做智能家居、图像识别、ROS 机器人还是毕设项目这套远程开发环境基本是标配。适合谁来参考如果你手上有一颗树莓派 4B 或者更新的型号系统已经装好或者正准备装想找个高效的方式在它上面写代码这篇文章的每一步都可以直接照做。就算你是第一次接触 SSH 和远程开发按照下面的步骤走完一遍也就花二十分钟左右之后就能获得一个随时可用的远程开发环境。整个方案的核心就三件事让树莓派能被访问到、让 VS Code 能连上去、把连接体验调到顺滑。接下来我把每一步的细节和踩过的坑都展开讲。2. 系统准备从烧录到联网的细节2.1 系统镜像烧录的两种方式如果树莓派还没装系统第一步自然是烧录系统镜像。常用的工具是树莓派官方出的 Raspberry Pi Imager跨平台支持 Windows、macOS 和 Linux界面也足够傻瓜化选择板型、选择系统、选择 SD 卡点烧录就行。但这里有几个容易忽略的选项烧录前一定要设置好。第一个是系统推荐选 64 位版本。树莓派 4B 及以后的型号CPU 都支持 64 位指令集装 64 位系统能跑更大的软件包有些预编译的二进制工具也只在 arm64 架构下提供。官方 2023 年之后的 Raspberry Pi OS 默认就有 64 位镜像可选直接选它就好。第二个是烧录界面里的高级设置按钮。点击后可以预先配置主机名默认是 raspberrypi、开启 SSH、设置用户名和密码还能直接配置 WiFi 网络。这些设置会被写进 SD 卡里第一次开机就生效避免了需要外接屏幕和键盘的麻烦。如果用的是第三方工具比如 balenaEtcher 之类的那就只能用最原始的方式先烧录系统然后手动在 SD 卡的 boot 分区里创建 ssh 文件来开启 SSH再创建 wpa_supplicant.conf 文件配置 WiFi。第一次开机时系统检测到这两个文件会自动开启 SSH 并连接无线网络。这种方式在官方 Imager 出现之前是标准操作现在仍然管用只是稍微繁琐一点。2.2 针对无屏幕用户的额外配置建议如果树莓派完全没有接显示器配置好网络之后还得知道它的 IP 地址才能连上。最简单的办法是登录路由器管理后台在设备列表里找主机名是 raspberrypi 的条目记下它的局域网 IP。这个方法最直观但前提是你有路由器后台的访问权限。没有路由器后台权限的话可以下载一个局域网扫描工具。手机上有 Fing 之类的应用PC 上有 Advanced IP Scanner扫描一下局域网就能看到所有在线的设备从中找到树莓派的 IP。这个方法有一点需要注意如果路由器开了 AP 隔离功能扫描结果可能不完整这种情况下还是老老实实借个屏幕看一眼。稳定性方面我个人强烈建议给树莓派设置一个固定的局域网 IP而不是依赖 DHCP 分配的动态地址。试想一下树莓派重启之后 IP 变了VS Code 里的连接配置就要跟着改如果你在外面通过网络远程访问IP 变了直接就断连了体验非常糟糕。设置静态 IP 的方法有两种一是在路由器后台给树莓派的 MAC 地址绑定固定 IP这是最推荐的方式因为所有网络配置仍然由路由器管理不需要在树莓派上改任何文件二是在树莓派系统里直接修改 DHCP 客户端的配置文件让它每次启动都请求同一个 IP。第二种方法要小心别把 DNS 配置弄错否则系统能联网但域名解析不了反而更难排查。2.3 系统源切换树莓派装完系统、连上网络之后默认使用的软件源服务器在国外国内环境下执行 apt update 的速度会非常感人几十 KB/s 的速度下载一个几 MB 的软件包都要等半天。建议第一时间切换成国内的镜像源清华、阿里云、中科大的源都可以用选择哪个取决于你所在的网络环境实测下来清华源和阿里云源在大部分地区速度都不错。切换源的方式很简单编辑 /etc/apt/sources.list 文件把默认的源地址替换成镜像站地址。如果你用的是 Raspberry Pi OS 2023 年之后的版本系统里可能还会有 /etc/apt/sources.list.d/raspi.list 文件这个文件对应树莓派基金会自己的软件仓库也需要一并替换成镜像地址。替换完之后执行sudo apt update sudo apt upgrade速度应该会有质的提升。这一步虽然不是连接 SSH 的直接前置步骤但后续安装 Python 依赖、编译工具链、各类开发库时都要用到 apt 安装软件包源的速度直接决定了等待时间提前换好能省下不少功夫。3. SSH 基础先让树莓派能被连上3.1 确认 SSH 服务正常运行树莓派官方系统默认情况下是开启 SSH 服务的但如果你用的是其他系统比如 Ubuntu Server、Manjaro ARM 之类可能默认没有安装或没有启动 SSH 服务。连接之前先确认一下服务状态可以避免连不上的时候瞎猜。在树莓派本机终端或者通过其他方式进入系统后执行下面的命令检查sudo systemctl status ssh如果服务在运行输出里会显示 active (running) 的状态。如果显示 disable 或者 inactive则需要先启动并设置开机自启sudo systemctl enable --now ssh另外注意树莓派官方系统里 SSH 服务名可能是 ssh 而不是 sshd跟 Ubuntu 桌面版不太一样用 systemctl 操作时别搞混了。Ubuntu Server 系统里的服务名一般是 ssh检查时如果报错说不存在该服务可以试一下systemctl status sshd。3.2 本地电脑生成密钥并拷贝到树莓派SSH 连接支持密码登录和密钥登录两种方式。密码登录简单直接但每次连接都要输密码而且有些时候密码认证会被系统拒绝比如权限配置不对或者密码策略限制。密钥登录是更推荐的方式不仅省去输密码的麻烦安全性也更高因为私钥保存在本地公钥放在远程主机上不涉及密码在网络中传输。如果你之前没有生成过 SSH 密钥在本地电脑上执行下面的命令ssh-keygen -t ed25519 -C your_emailexample.com这里用了 ed25519 算法而不是传统的 RSA原因是 ed25519 密钥更短、生成速度更快、安全性也不逊色。如果你的本地环境比较老不支持 ed25519也可以用ssh-keygen -t rsa -b 4096只是生成的密钥文件会大一些。生成过程中会提示设置 passphrase这个密码短语是保护私钥文件的。如果设置了每次使用私钥时还要输入一次 passphrase。日常个人开发图方便的话直接留空也可以但如果是生产环境或者公司机器强烈建议设置毕竟私钥泄露就等于把你的服务器访问权限交出去了。密钥生成后把公钥拷贝到树莓派上推荐用 ssh-copy-id 命令ssh-copy-id pi192.168.1.100这里的 pi 是树莓派上的用户名192.168.1.100 是树莓派的 IP 地址换成你自己的实际值。执行后输入一次密码本地公钥就会自动添加到树莓派 ~/.ssh/authorized_keys 文件里。之后再执行 SSH 连接就不再需要输入密码了。如果你的 Windows 系统没有 ssh-copy-id 命令可以手动把公钥内容追加到树莓派的 authorized_keys 文件里。等后续 VS Code 连上远程之后在远程终端的配置面板里操作同样可以实现。3.3 SSH 连接测试配置完成后建议先在本地终端里测试一下连接是否正常ssh pi192.168.1.100能顺利进入树莓派的命令行界面就说明 SSH 链路通了。这时候可以先顺手执行一下hostname和uname -a确认连接的是正确的设备。确认没问题之后输入exit退出接下来就该 VS Code 出场了。4. VS Code 远程开发配置实战4.1 安装 Remote-SSH 扩展VS Code 本身只是个编辑器骨架远程开发能力靠扩展实现。在扩展市场搜索 Remote-SSH安装微软官方发布的那一款注意看清楚发布者是 Microsoft别装到第三方同名扩展。安装完成后VS Code 左侧边栏会多出一个远程资源管理器图标看起来像一个小显示器。Remote-SSH 这个扩展的本质是在本地启动一个 VS Code 客户端进程通过 SSH 连接到远程机器然后在远程机器上动态安装一个 VS Code Server。这个 Server 负责文件读取、语言服务、代码补全、调试等核心功能本地客户端只负责显示界面和接收键盘鼠标输入。所有计算密集型操作都在树莓派上完成本地电脑只承担渲染任务所以即使网络带宽一般操作也能保持流畅。4.2 配置 SSH 主机点击远程资源管理器图标选择 SSH Targets再点击齿轮图标打开 SSH 配置文件。这个文件在本地电脑的 ~/.ssh/config 路径下VS Code 会读取这个文件来识别可连接的主机。推荐在配置文件里写清楚主机别名和连接参数示例配置如下Host raspberrypi HostName 192.168.1.100 User pi Port 22 IdentityFile ~/.ssh/id_ed25519Host 后面的字符串是自己起的别名可以随便取方便记忆就行。HostName 是树莓派的 IP 地址。User 是登录用户名树莓派官方系统默认是 pi如果你创建了其他用户就写那个用户名。Port 是 SSH 端口默认 22如果你改过 SSH 端口就填实际端口。IdentityFile 指定私钥文件的路径配置好之后连接时就不用手动指定密钥了。配置保存后远程资源管理器面板里应该就能看到名为 raspberrypi 的主机条目。点击旁边的连接按钮VS Code 会启动连接流程。第一次连接时会自动在树莓派上下载并安装 VS Code Server这个过程取决于树莓派的网络速度可能需要等一两分钟。如果树莓派访问 GitHub 下载地址的速度太慢可以参考后面的问题排查部分。4.3 首次连接与目录打开连接成功之后VS Code 窗口底部会显示 SSH: raspberrypi 的提示左下角的状态栏也会显示当前连接的主机名。这时候可以点击左侧的资源管理器图标选择打开文件夹浏览树莓派上的目录选中你的项目文件夹后VS Code 就会重新加载并打开远程目录下的文件。这里有一个实用的建议在 VS Code 里打开一个远程文件夹时它会记住这个工作区。下次连接之后直接通过菜单栏的 File 选项里找到 Recent 中对应的远程目录一键就能重新打开不用每次都手动浏览路径。打开远程文件夹之后你可以直接在编辑器里新建、修改、删除文件所有操作实时同步到树莓派的文件系统中。终端面板快捷键 Ctrl打开后会自动进入远程环境的 shell执行的命令直接在树莓派上运行就跟坐在树莓派面前一样。装了 Python 插件后打开 Python 文件就能看到代码补全和语法检查解释器路径会自动识别远程环境里的 Python 版本。4.4 远程扩展的管理逻辑这里必须单独讲一下扩展管理的概念很多人第一次用 Remote-SSH 都会在这里闹迷糊。VS Code 扩展分为本地扩展和远程扩展两种本地扩展运行在你的电脑上比如主题、图标、本地格式化工具这些远程扩展运行在树莓派上通常是与语言支持、调试、终端相关的功能。Remote-SSH 的机制是你在扩展面板里看得到所有已安装的扩展但它们的运行位置不同。扩展卡片上会标注 LOCAL 或者 SSH: raspberrypi 这样的标识表示这个扩展当前是运行在本地还是远程。当你点击安装一个扩展时VS Code 会根据当前环境自动决定安装到哪一侧。比如 SSH 连接状态下你安装 Python 插件它会装到远程如果安装主题插件它会装到本地。这个机制初看有点绕但理解之后就发现很合理语言服务和调试器需要跟远程文件系统紧密配合所以放在远程运行界面美化类的东西跑在本地就够了。如果你在远程工作区里打开一个扩展提示“此扩展在此工作区中被禁用因为其被定义为在远程扩展主机中运行”这通常意味着该扩展不支持远程场景或者版本太旧。解决办法是在扩展面板里确认当前安装的是最新版本或者改用功能类似的替代品。5. 从能用到好用的进阶配置5.1 在 Windows 上使用密钥的额外配置如果你用的是 Windows 系统生成密钥和连接 SSH 的过程跟 macOS/Linux 略有不同。Windows 10 1803 之后的版本自带 OpenSSH 客户端可以在 PowerShell 或 CMD 里直接运行 ssh 命令。之前讲的 ssh-keygen 和 ssh-copy-id 在 PowerShell 里也都可以使用只是在没有 ssh-copy-id 命令的情况下需要手动执行一些步骤。手动拷贝公钥的方式是先用记事本打开本地生成的 id_ed25519.pub 文件复制全部内容然后通过密码方式登录树莓派编辑 ~/.ssh/authorized_keys 文件把复制的内容追加到文件末尾保存退出。注意要确保 ~/.ssh 目录权限是 700authorized_keys 文件权限是 600权限太宽松的话 SSH 服务会拒绝使用这个文件导致密码都不让输直接拒绝连接。Windows 上还有一个常见的问题是私钥文件权限不对。OpenSSH for Windows 对私钥文件的权限检查很严格如果私钥文件允许其他用户读取ssh 命令会直接报错。解决办法是在文件属性里修改安全选项卡只保留当前用户的完全控制权限删除其他用户或组的权限条目。这个坑非常隐蔽很多人密钥配置完全正确就是连不上最后发现是文件权限的问题。5.2 使用 VS Code 内置终端与端口转发连接上远程主机后VS Code 的内置终端非常实用。它默认打开的 shell 就是在树莓派上的不需要再单独开一个 SSH 会话。比如你在编辑 Python 文件直接按 Ctrl打开终端运行python3 main.py输出直接显示在终端面板里省去了来回切换窗口的麻烦。如果你在树莓派上跑了一个 Web 服务比如 Flask 应用监听在 5000 端口想在本地浏览器里访问不用去查树莓派的 IP 再输入端口号VS Code 提供了端口转发功能。在终端面板旁边的 Ports 选项卡里添加要转发的端口VS Code 会自动建立一条隧道本地访问 localhost:5000 就相当于访问树莓派的 5000 端口。这个功能在调试 Web 应用和 API 服务时特别方便配置一次就能长期使用。命令行的端口转发其实也可以手动完成本地终端里执行ssh -L 5000:localhost:5000 pi192.168.1.100这样本地 5000 端口就会转发到远程的 5000 端口。VS Code 只不过把这一步图形化了原理是完全一样的。5.3 安装常用开发插件远程连接建立之后建议安装下面这些插件开发体验会提升不少Python提供代码补全、语法检查、调试、Jupyter 支持是树莓派上做 Python 开发的必备插件。Pylance配合 Python 插件使用补全和类型检查的体验更好。C/C如果要在树莓派上编译 C/C 程序这个插件提供智能提示、调试和编译任务配置。GitLens增强 Git 功能查看每行代码的提交记录。Remote Explorer这是随 Remote-SSH 一起安装的辅助扩展用于管理远程目标。你喜欢的主题和图标插件也可以安装这些会运行在本地侧不影响远程环境性能。这些扩展在远程连接状态下安装后会安装在树莓派上的 VS Code Server 里。好处是当你换一台电脑连接同一台树莓派时远程扩展会自动同步不需要重新安装缺点是树莓派的存储空间有限安装太多大体积扩展会占用珍贵的磁盘空间所以只装常用的就好。安装完扩展后重新加载一下窗口命令面板输入 Reload Window让扩展生效然后远程环境的 VS Code Server 配置就会持续保留在树莓派上。5.4 树莓派上一些值得做的优化连接树莓派做开发底下这些优化建议能让你用得舒服很多把默认 shell 换掉树莓派默认的 bash 能用但如果你习惯用 zsh 加 oh-my-zsh在树莓派上同样可以装。zsh 的自动补全和主题提示用起来确实比 bash 舒服一些。配置 git 用户信息很多人在树莓派上做开发会忘记配置 git 的用户名和邮箱提交代码时会报错或者提交了错误的作者信息。连接远程后第一时间执行git config --global user.name和git config --global user.email设置好。开启 swap树莓派内存有限跑编译任务或者大型 Python 程序时容易内存不足。默认系统已经配置了 swap但大小只有 100MB 左右。编辑 /etc/dphys-swapfile 文件把 CONF_SWAPSIZE 调大到 1024 或者 2048重启后生效。不过不是所有场景都需要如果只是写点简单脚本默认配置也够用。修改主机名如果你有多台树莓派建议给每台设置不同的主机名方便区分。修改 /etc/hostname 文件内容然后执行sudo hostname 新名字即可立即生效下次连接时还可以在 SSH 配置里给不同主机起不同别名。5.5 让树莓派保持在线的技巧远程开发场景下树莓派尽量保持一直在线是核心诉求。首先确保电源是稳定的 5V 3A 适配器不要尝试用电脑的 USB 口供电很多远程失联问题其实都是因为电压不稳导致树莓派重启或者断网。其次 WiFi 连接有时会断开特别是在信号不太好的环境下。这时候可以设置 WiFi 自动重连树莓派官方系统里可以通过编辑 /etc/wpa_supplicant/wpa_supplicant.conf 文件并配置适当的优先级让系统在网络恢复后自动重新关联。如果树莓派放在角落里不好物理重启可以装一个远程重启的补充工具比如在系统里配置定时任务检查网络连通性发现 ping 不通网关就自动重启网络服务。这个脚本不需要很复杂几行 bash 就能搞定但关键时刻能救命。6. 常见问题与排查技巧实录远程开发这种组合方案最大的障碍就是链路中的每一个环节都可能出问题而且问题表现相似排查起来容易让人头大。下面是我实际开发中遇到过的问题和排查思路整理成一张速查表问题现象可能原因排查与解决方向SSH 连接超时一直转圈树莓派 IP 地址不对、网络上不可达、防火墙拦截先 ping 树莓派 IP再检查 VS Code SSH 配置文件的地址提示 Permission denied (publickey,password)密码错误、密钥不对、authorized_keys 权限问题确认用户名和密码没问题检查本地私钥是否被正确匹配connect to host 端口 22: Connection refused树莓派 SSH 服务未启动、端口被占用或禁用在树莓派本机运行 sudo systemctl status ssh 查看服务状态连接成功后 VS Code 卡在下载 VS Code Server树莓派访问下载源太慢或网络受限手动下载安装或者配置镜像源扩展提示“在此工作区中被禁用”扩展不支持远程场景或版本过旧更新扩展版本更换为支持远程的替代品远程终端中文乱码系统字符集设置不对检查 LANG 环境变量设置为 UTF-8安装中文字体6.1 VS Code Server 下载失败的解决办法首次连接远程主机时VS Code 会在远程机器上下载并启动一个配套的 Server 程序。这个下载源在 GitHub 上国内网络环境下经常失败报错信息大致是 Server installation failed 或者类似的字样。遇到这个问题有三个解决方法方法一是给树莓派配置代理如果本地有代理服务的话。在 ~/.bashrc 或者 ~/.profile 里加 environment 配置这种做法够直接但不够通用因为你可能换网络环境。方法二是手动下载。报错信息里通常会显示一个 commit ID这个 ID 对应一个具体的 VS Code Server 版本包。在本地电脑上访问对应的下载地址把 tar.gz 文件下载下来通过 scp 命令传到树莓派上再按照错误提示里的路径解压到指定目录。操作起来稍微麻烦但一次性就能解决问题后续版本更新后才需要再操作一次。方法三是直接配置镜像加速使用国内 npm 镜像源或者 GitHub 加速代理。具体操作是设置环境变量export VSCODE_SERVER_URL_OVERRIDEhttps://你的加速地址这个方法取决于加速服务的稳定性和速度实际使用中需要根据情况调整。6.2 WSL 或本地方案切换导致的配置冲突有些朋友电脑上装了 WSL同时也在用 Remote-SSH 连树莓派。这两个功能其实互不冲突但 SSH 配置文件是共用的如果 WSL 里有别名跟树莓派的别名相同连接时可能会串台。建议给每个主机起独立的别名比如 rpi4、rpi5、wsl-ubuntu 这样别用一个通用的名称。另外还有一种情况如果本地 VS Code 曾经配置过 Remote-WSL 插件你在连接 SSH 时可能会不小心点进 WSL 窗口。区分当前的连接对象很简单看窗口左下角的提示标签显示 WSL 就是连的本地子系统显示 SSH: 主机名 就是远程连接。6.3 SSH 连接频繁断开的排查思路如果你发现 SSH 连接用着用着就断开了过一会又自动恢复先检查网络稳定性树莓派使用 WiFi 连接时信号弱或者信道干扰是常见的掉线原因。可以把树莓派优先用网线连接到路由器排除无线信号问题。软件层面还有一个常见原因SSH 服务端配置了空闲超时或者客户端没有保持心跳。如果你在 VS Code 里开着远程连接但一段时间没有任何操作连接就断开了多半是空闲超时设置太短。解决办法是在 SSH 配置文件的服务端加入 KeepAlive 设置在树莓派的 /etc/ssh/sshd_config 文件里添加或修改ClientAliveInterval 60 ClientAliveCountMax 3这样服务端每隔 60 秒会发送一次心跳检查连续 3 次没有响应才判定断开一般就不会出现空闲断连的问题了。改完配置记得执行sudo systemctl restart ssh让配置生效。6.4 树莓派 SSH 无法连接的系统级原因排除了网络和配置问题之后如果还是连不上需要检查树莓派系统本身的状态。比如 SD 卡剩余空间不足会导致服务异常可以远程或者接屏幕登录进去查看磁盘使用情况df -h如果根分区使用量接近 100%系统各种功能都会出问题。解决办法是清理 apt 缓存sudo apt clean、删除不需要的软件包sudo apt autoremove、清理临时文件和日志文件。如果是系统镜像分区太小导致的问题可以重新烧录镜像并正确扩展分区或者手动用sudo raspi-config里的扩展文件系统选项调整分区大小。系统时钟异常也会导致 SSH 握手失败。树莓派没有 RTC 模块断电后系统时间会重置。如果时间偏差过大SSH 的密钥校验可能失败。确保系统配置了 NTP 时间同步timedatectl查看时间同步状态必要时执行sudo timedatectl set-ntp true开启自动同步。7. 几个我个人离不开的实用技巧连接环境的构建只是第一步真正用得顺心靠的是日常积累的小技巧。这里分享几个我现在每台树莓派都会配置的操作。第一个是 SSH 配置文件的参数优化。在本地 ~/.ssh/config 里除了之前写的基础参数还可以加一些别的选项Host raspberrypi HostName 192.168.1.100 User pi Port 22 IdentityFile ~/.ssh/id_ed25519 ServerAliveInterval 60 ServerAliveCountMax 3 Compression yesServerAliveInterval 是客户端每隔多少秒发送一次心跳包ServerAliveCountMax 是连续多少次未收到响应才断开连接。这两个参数配合使用能大幅提升连接稳定性。Compression yes 开启传输压缩在网速一般的情况下拉取远程文件会有一些加速效果代价是额外占用一点 CPU 资源。第二个是直接把常用命令封装成本地脚本。比如我经常要做的一个操作是同步本地代码到树莓派上虽然 VS Code 里保存文件就会自动同步但有些情况下需要手动拉取远程分支或者用 rsync 做增量同步这时候在本地写一个简短的部署脚本会快很多。#!/bin/bash rsync -avz --delete ./my_project/ pi192.168.1.100:~/my_project/一次性同步整个目录树避免逐个文件复制非常实用。类似这样的场景可以发挥想象力比如把本地编译产物同步过去、把树莓派的日志定期拉回本地等。第三个是在树莓派上配置一个 tmux 会话。有时候你在 SSH 终端里跑一个长时间运行的训练任务或者数据采集程序VS Code 关闭了连接之后进程收到 SIGHUP 信号会直接终止。解决办法是用 tmux 或者 screen 这类终端复用器把长时间任务放在 tmux 会话里执行断开 SSH 连接后任务照样跑下次连接之后用tmux attach就能回到之前的会话界面。这个技巧对树莓派开发尤其好用因为树莓派通常被当成一个常开的小服务器使用。第四个是善用 Remote-SSH 的命令面板。按 F1 打开命令面板输入 Remote-SSH 可以看到所有相关命令。比如 Remote-SSH: Kill VS Code Server on Host可以在远程 VS Code Server 异常时强制结束它重新连接时会自动拉起一个新的。有时候远程环境卡住了不一定要重启树莓派先试试这个命令省下的时间很可观。还有一个值得养成的习惯把 VS Code 的工作区保存文件放到远程目录里比如在树莓派上创建 ~/workspace.code-workspace 文件里面定义多个项目的根目录。这样每次连接后直接打开这个工作区文件所有项目文件夹就都出现在资源管理器里了不需要手动一个个添加。从我个人的使用经验来说这套方案最大的价值在于它抹平了“本地编辑”和“远程运行”之间的割裂感。以前在树莓派上开发文件在本地编辑、代码在远程运行来回同步文件就是个噩梦。现在整个流程完全集成在 VS Code 里保存即同步终端即运行调试即反馈开发效率至少提升了一倍。而且远程环境是跟随树莓派走的不管你在哪里、不管用哪台电脑只要能 SSH 连上面对的就是完全一致的开发环境这种一致性带来的安心感只有用过才知道。如果你照着上面的步骤操作一遍遇到任何卡住的地方回过头看看对应的章节大部分问题无非是密钥没配好、服务没启动、网络不通这几类排查的方向找对了问题也就解决了一大半。剩下的就是多用多踩坑把这套工具链慢慢打磨成最适合自己习惯的开发环境。
返回列表