用VSCode搭建远程开发环境
1. 应用场景
用VSCode进行远程开发十分强大,操作方便,以下梳理最常用的几种场景及关键步骤。
- 连接Linux服务器开发: 公司的开发/测试机、云服务器(阿里云/腾讯云/AWS)。
- 嵌入式开发:嵌入式的程序经常需要在开发板上跑,如树莓派、RK3588等。可以直接在开发板上搭建开发环境,然后用VSCode通过ssh远程连接到开发板,进行开发。
- 统一团队开发环境: 针对依赖复杂、环境配置复杂的项目,用一台性能较高的主机,搭建统一的远程开发环境。
- 团队成员一键重建完全相同的环境,告别“在我电脑上能跑”。
- 与 CI/CD 流水线环境一致,避免环境差异导致的线上 Bug。
- Windows下开发Linux程序(WSL): 使用 Windows 的 GUI 和 VSCode,但底层调用 WSL 中的 Linux 内核和工具链。
2. 安装必要扩展
在 VSCode 扩展市场搜索并安装:
- Remote Development (Microsoft 官方出品),它会自动安装三个核心扩展:
WSL: 在Windows里直接调用Linux子系统(Windows Subsystem for Linux)作为开发环境,获得 Linux 般的开发体验。Remote - SSH: 通过SSH连接远程服务器(如云主机、开发机),打开远程计算机的文件夹,可连接到任何位置,以达到“在本地VSCode上操作远程代码和环境”的目的。Remote - Containers: 将容器(通常是Docker/Kubernetes的容器)作为完整的开发环境,实现团队环境一致、依赖隔离的开发体验。Remote - Tunnels: 通过安全隧道将远程机器的 VSCode 服务映射到本地,无需配置 SSH 即可远程开发。
背景介绍:
2019 年5月3日,在PyCon2019大会上,微软发布了VS Code Remote,开启了远程开发的新时代!这次发布包含了三款核心的全新插件,它们可以帮助开发者在容器,物理或虚拟机,以及Windows Subsystem for Linux (WSL)中实现无缝的远程开发。通过安装Remote Development Extension Pack,你可以快速上手远程开发。Remote Development extension pack 包括三个扩展:
Remote - SSH、Remote - Containers、Remote - WSL。
3. 三种主要远程开发模式
3.1. 🔹 SSH 远程开发 (最常用,连接Linux服务器)
适用场景:连接云服务器、公司开发机、树莓派等。
操作步骤:
-
按
F1或Ctrl+Shift+P,输入Remote-SSH: Open SSH Configuration File。
-
选择配置文件
- Linux 通常为
~/.ssh/config目录(即/home/用户名/.ssh/config) - Windows 通常为
C:\Users\用户名\.ssh\config目录
- Linux 通常为
-
添加相应的配置:
Host my-server
HostName 远端设备的IP
User 远端设备的用户名
Port 22
IdentityFile ~/.ssh/id_rsa # 可选,私钥路径 -
按
F1,输入Remote-SSH: Connect to Host,选择上一步配置的远端服务器(如:Spencer-RK3588) 或者点击Add New SSH Host...然后输入SSH连接的命令(如:ssh [user]@[host_ip])。
(之后会弹出一个新的窗口) -
选择目标服务器的的操作系统。

-
如果有提示SSH远程服务器的连接指纹已存在,选择
Continue。
-
输入远程设备对应用户名的密码。

-
最后可能会弹出一个配置提示。

-
新窗口打开后,输入密码(若未配置密钥)。
-
连接成功后,左下角显示
SSH: my-server。
提效配置:
- 免密登录:
ssh-copy-id user@host。 - 保持连接:设置
Remote.SSH: Keep Alive Interval为 60。
3.2. 🔹 开发容器 (Dev Containers)
适用场景:统一团队开发环境、避免污染本机、应对复杂依赖。
操作步骤:
- 在项目根目录创建
.devcontainer/devcontainer.json。 - 以Python环境为例,简单示例如下:
{
"name": "Python Dev",
"image": "mcr.microsoft.com/devcontainers/python:3.11",
"customizations": {
"vscode": {
"extensions": ["ms-python.python"]
}
},
"postCreateCommand": "pip install -r requirements.txt"
}
- 按
F1→Rebuild and Reopen in Container。
3.3. 🔹 WSL 远程开发 (Windows用户)
适用场景:在Windows上开发Linux应用。
前提条件:已安装 WSL2 和 Linux发行版(如Ubuntu)。
操作步骤:
- 打开 VSCode。
- 按
F1→Remote-WSL: New Window。 - 选择你的 WSL 发行版。
- 在底部终端会看到
WSL: Ubuntu状态。
4. 常用快捷键和设置
| 操作 | 快捷键/命令 |
|---|---|
| 重新连接 | Ctrl+Shift+P → Remote-SSH: Connect to Host |
| 断开连接 | 左下角齿轮 → Close Remote Connection |
| 端口转发 | Ports 面板(远程服务的端口自动映射到本地) |
| 在本地打开终端 | `Ctrl+`` (默认打开远程终端) |
| 同步设置 | 开启 Settings Sync,不同环境的配置可独立 |
5. 实用技巧
5.1. 端口转发(自动/手动)
- 自动:远程服务监听
0.0.0.0或localhost,VSCode 会弹窗提示转发。 - 手动:在
Ports面板点 "Forward Port",输入远程端口(如8888),访问本地的http://localhost:8888即可。
5.2. 多窗口管理
- 本地和远程可以同时打开不同文件夹。
- 每个远程连接独立窗口,左下角显示状态。
5.3. 性能优化
// settings.json
"remote.SSH.showLoginTerminal": true, // 显示完整的SSH连接日志
"remote.SSH.remotePlatform": {
"my-server": "linux" // 明确指定平台,加速连接
}
5.4. 调试远程代码
- 断点、变量查看、调用栈都正常工作。
- 支持本地和远程混合调试(如前端本地,后端远程)。
6. 常见问题
Q: 连接超时?
A: 检查防火墙/安全组,或增加 ServerAliveInterval 60 到 SSH config。
Q: 扩展安装失败? A: 部分扩展需要单独安装在远程端,VSCode 会提示,点击 "Install in SSH: xxx" 即可。
Q: 如何在远程使用 git? A: 远程机器需安装 git,VSCode 的 SCM 面板会直接调用。
Q: 文件怎么从远程传到本地?
A: 右键文件/文件夹 → "Download..." 或者用 scp 命令。
7. 进阶场景
7.1. VS Code Server 自定义安装路径
若远程主机的 home 目录空间不足:
# 连接前设置环境变量
export VSCODE_SERVER_DIR=/data/vscode-server
7.2. 多跳 SSH(跳板机)
Host target
HostName 最终服务器IP
User username
ProxyJump jumpserver
7.3. 结合 GitHub Codespaces
完全云端的开发环境,配置与 devcontainer.json 兼容。
建议从这里开始:
- 先尝试 SSH 连接一台远程服务器。
- 打开一个项目文件夹,安装需要的语言扩展(Python/Node.js 等)。
- 体验调试和终端操作的流畅度。
碰到具体连接问题或配置细节,可以告知使用场景(比如是什么操作系统、连接什么服务器),以便获取更具针对性的建议。
摘要:本文全面介绍VSCode远程开发,从安装必要扩展入手,阐述SSH、开发容器、WSL三种主要远程开发模式的适用场景与操作步骤,还分享常用快捷键、实用技巧,解答常见问题,并提及进阶场景,最后给出上手建议。