📘 VS Code 远程开发 Linux 上的项目(完整版)
🚩 前言(重要说明)
本文档基于:
- VS Code 最新版本(2025年版)
- 弃用的插件与方法均已特别注明
- 明确推荐最新版的官方标准做法
🔖 第一部分:远程开发 Linux 常规目录项目(非 Docker)
🔹明确需求:
- 在 Windows 上使用 VS Code 编辑、调试远程 Linux 主机上的普通目录项目。
🔹推荐插件(VS Code 官方):
✔ 推荐:
Remote - SSH
(官方)Remote Development
(官方,套件包含 SSH 等插件)
❌ 弃用的插件:
- 旧版的
Remote - WSL
(不适合远程主机,仅用于本地 WSL)
🔹环境要求:
- Linux 主机 IP 已知(如:
192.168.x.x
或其他内网IP) - Linux 主机开放 SSH 登录权限(建议使用密钥认证)
- Linux 主机安装:
curl、wget、unzip、git
(非必须,但推荐)
🔹详细实现步骤:
✅Windows 上安装 VS Code 插件:
-
打开 VS Code,按快捷键:
Ctrl + Shift + X
-
搜索并安装:
Remote - SSH
- 或直接安装套件
Remote Development
✅在 VS Code 中创建 SSH 连接:
-
按快捷键:
Ctrl + Shift + P
-
执行:
Remote-SSH: Connect to Host...
-
输入连接信息:
ssh your-username@your-linux-ip
-
按提示输入密码或使用密钥登录。
✅打开 Linux 上的项目目录:
-
登录成功后 VS Code 提示选择远程目录,输入目录路径即可,例如:
/home/your-username/your-project
✅开发与调试:
- 完全和本地开发一样,支持远程实时保存修改和调试。
🔹注意事项:
- Linux 主机防火墙需要放行SSH端口(默认22)。
- 推荐使用 SSH 密钥认证更安全高效。
🔖 第二部分:远程开发 Linux Docker 容器内项目
🔸 明确需求:
- 在 Windows 上使用 VS Code 远程进入 Linux Docker 容器内 开发。
🔸 VS Code 最新推荐方案(Docker Context):
🚩 弃用方案(已不再支持):
❌ 弃用插件名:Remote Containers
❌ 弃用配置方式:dev.containers.dockerHost
✅ 当前推荐方案:
✔ 插件名:Dev Containers
(原名 Remote Containers,已更名) ✔ Docker Context 官方方案(最新推荐)
🔸环境要求:
- Linux 宿主机 IP 已知(如:
192.168.x.x
) - Linux 宿主机 Docker 服务开启远程 API(仅开发环境推荐) Docker API 端口(默认2375,仅开发环境使用!)
在 Linux 宿主机启用 Docker Remote API:
编辑服务配置:
sudo vim /lib/systemd/system/docker.service
修改为:
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
重启 Docker 服务生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
(生产环境绝不建议如此配置,仅开发环境!)
🔸Windows 端明确配置 Docker Context:
在 Windows PowerShell 执行:
创建并启用 Docker context:
docker context create linux-remote --docker "host=tcp://your-linux-ip:2375"
docker context use linux-remote
(恢复默认 context 命令为:docker context use default
)
验证 context 有效:
docker ps
应该能看到远程 Linux 主机上的容器列表。
🔸 VS Code 中连接远程 Docker 容器:
-
重启 VS Code 后,按快捷键:
Ctrl + Shift + P
-
执行:
Dev Containers: Attach to Running Container...
-
选择你想开发的 Docker 容器(如:
your-container-name
)
此时 VS Code 直接进入容器环境,无需 SSH 密码登录。
🔸使用完毕后恢复本地 Docker 环境:
如需恢复连接 Windows 本地 Docker,执行:
docker context use default
重启 VS Code 即可。
🎯 明确的方案对比(非常重要) :
场景 | 推荐方案 | 弃用方案 |
---|---|---|
Linux 常规目录项目 | ✔ Remote-SSH | ❌ WSL 插件(不适合远程) |
Linux Docker 内项目 | ✔ Docker Context + Dev Containers | ❌ dev.containers.dockerHost |
🚨 常见错误和排查方式(供参考):
-
无法连接 Docker 容器 排查 Linux 宿主机 Docker Remote API 是否开启:
curl http://localhost:2375/version
-
Docker Context 未生效 确认 context 已激活:
docker context ls docker context use linux-remote
📚 最终总结(简单易懂)
你当前最佳实践方式是:
- 常规 Linux 项目: VS Code + Remote SSH
- Docker 容器项目: VS Code + Docker Context + Dev Containers 插件
以上两种方式均为目前 VS Code 官方推荐且稳定有效的开发方式。