自从微软发布了 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 进行开发的牛人,但我认为无论使用哪种工具,只要是自己能上手、能加速开发并提升品质的工具,都是值得去学习的。