VSCode 的 Remote Development 扩展与 Docker 扩展使用

自从微软发布了 Remote Development 扩展之后,这个扩展就成为了我不可或缺的工具之一。对我来说,这不仅仅是建议安装,而是强烈推荐安装的扩展!最近工作中会配合容器环境进行开发,有些朋友还没有体验过 VSCode 远程开发的便利,实在是太遗憾了,这篇文章就算是使用记录和软件安利了。

Remote Development 扩展

Remote Development 扩展包含了所有远程开发的组件,安装这些组件后,你可以通过 SSH 连接到远程主机进行开发,或者进入 Docker 容器内部进行开发,甚至可以进入 Windows 的 Linux 子系统进行开发:

首先,你可以看到界面左侧有一个电脑图标,点击后会看到下方的界面,而右上角的下拉菜单可以选择使用 Containers、WSL 或 SSH 进行远程开发。

使用 Remote - WSL

如果你使用的是 Windows 系统,并且主机上安装了 Linux 子系统,比如:

那么在选择 WSL Targets 时,自然会看到可以连接的子系统:

当 VSCode 窗口弹出后,就表示已经成功进入 WSL 了,这时就可以直接在 VSCode 上开始进行开发了。

使用 Remote - Containers

Remote - Containers 的部分也很类似,选择 Containers 后,可以看到主机上所有的容器,选择 Attach to Container 就能够直接打开一个新的 VSCode 窗口进入容器内部进行开发。

使用 Remote - SSH

就我个人而言,SSH 是我最常使用的功能,除了平时需要远程连接到另一台主机外,我自己也会在多个虚拟机中进行开发。首先可以设置好 .ssh/config 文件,内容可能如下:

javascript 复制代码
Host workspace1
  User user1
  IdentityFile ~/.ssh/id_rsa_user1
  Port 22
  HostName xxx.xxx.xxx.xxx
Host workspace2
  User user2
  IdentityFile ~/.ssh/id_rsa_user2
  Port 1022
  HostName xxx.xxx.xxx.xxx
Host workspace3
  User user3
  IdentityFile ~/.ssh/id_rsa_user3
  Port 2022
  HostName xxx.xxx.xxx.xxx

上述主要设置远程主机上的用户名、端口和密钥,设置完成后,在 SSH Targets 选项下,就会看到设置好的 Host 可以选择:

端口转发

在使用 VSCode 远程开发时,如果运行了一些服务,通常会帮你自动做好端口转发,这样就能直接通过 localhost 访问到。

当然,你也可以自己添加,并自定义要绑定的端口,只需右键点击已生成的端口转发选择 Change Local Port 即可:

你可能还会有一个问题:

如果是想要远程到远程主机中的容器内呢?

这个问题很好解决,其实就是先远程到 SSH 主机,然后在弹出的 VSCode 窗口下继续远程到容器中:

只是在这个过程,可能在第二次打开容器时会等待比较长的时间,但等到窗口完全打开后,我在开发过程中并没有感到与本机的容器开发有什么区别。

Docker 扩展

虽然在上面的 Remote - Containers 部分已经足够用了,但也建议把 Docker 的扩展安装使用:

安装完成后可以看到以下的界面:

在 Containers View 部分与 Remote - Containers 类似,也会显示主机上所有的容器,不过这边多了个 Attach Shell 的功能,可以直接在 VSCode 的 Terminal 下打开容器的 bash,这一点其实还是蛮实用的:

而其他的功能也是比较好用的,比如可以列出所有主机上的 docker image ,使用界面执行 docker run 相关指令。

总结

总的来说,这些都是非常方便的工具。虽然在工作中见过一群能用 Vim 进行开发的牛人,但我认为无论使用哪种工具,只要是自己能上手、能加速开发并提升品质的工具,都是值得去学习的。

相关推荐
LCG米1 小时前
基于PyTorch的TCN-GRU电力负荷预测:从多维数据预处理到Docker云端部署
pytorch·docker·gru
Warren982 小时前
接口测试理论
docker·面试·职场和发展·eureka·ansible
杭州杭州杭州2 小时前
Docker
运维·docker·容器
玉梅小洋5 小时前
GitHub SSH配置教程
运维·ssh·github
等什么君!5 小时前
Docker 数据卷:MySQL 数据同步实战
运维·docker·容器
礼拜天没时间.5 小时前
《Docker实战入门与部署指南:从核心概念到网络与数据管理》:环境准备与Docker安装
运维·网络·docker·容器·centos
风流倜傥唐伯虎5 小时前
Windows 版 Docker 的 Linux 环境(docker-desktop)与 builder-jammy-base:latest 镜像核心区别
linux·docker·容器
Ha_To5 小时前
2026.1.30 搭建docker仓库
运维·docker·容器
lpfasd1235 小时前
Docker Desktop 在国内使用的囧境:镜像拉取失败、加速器失效与破局之道
运维·docker·容器
江湖有缘5 小时前
Docker部署SurveyKing调查问卷系统和考试系统
运维·docker·容器