使用 VSCode 远程开发最佳实践
首先分析一下,为什么要远程开发?本人认为远程开发主要有以下优点:
一处搭建,多处使用
只需要在远程机上搭建好开发环境,在任何电脑上都可以进行开发,非常便利
开发环境隔离,可以在不同的开发环境之间快速切换
对本机性能要求低
远程开发方式选择
远程开发方式:
Remote - SSH
通过使用 SSH 远程连接计算机或者虚拟机中
Remote - Containers
通过 SSH 远程连接到 Docker 容器,在 Docker 中进行开发
Remote - WSL
在 Windows 中远程 WSL 进行开发。这种方式无法实现环境隔离,但是可以在 Windows 中获取 Linux 开发的体验
选择比较:
由于业务原因,有的软件必须基于 Windows 进行开发,只能选择 Windows+WSL 组合,但是 WSL 无法实现开发隔离,因此还需要加上 Docker。
虽然可以仅使用 Docker 实现远程开发,但这会带来一个问题,需要在每个开发容器中安装 ssh、git、zsh 等一系列工具,增加部署负担;若需要增加映射端口或者新增挂载,则必须要重建容器,这个时候,容器里的配置将会清空,又得从头配置一次。
综合考虑,最终选择了 Windows + Docker Desktop + WSL 组合使用的方式。
方案实施
具体的实施方案为:
- 在 Docker 中跑应用
- 将代码文件挂载到 WSL 的某个工作目录
- 使用 VSCode 远程 WSL,打开工作目录进行编程
举例说明
下面以 vue 项目为例举例说明
首先,在 WSL 中,创建一个远程工作目录,例如
~/docker-envs
,将下面的 docker-compose.yml
复制过去,运行 docker compose up -d
启动开发环境
1 | services: |
然后,使用下面的命令进入到容器内开始初始化项目
1 | docker exec -it vue-env bash |
接着,执行 docker exec -it vue-env npm run dev
启动开发环境,这个终端不能退出,在开发中需要一直保持。
最后,使用 VSCode 远程 WSL,打开 ~/docker-envs/vue
进行开发。