VSCode 远程连接 Vagrant 虚拟机开发环境
VSCode 远程连接 Vagrant 虚拟机和连接 WSL 开发环境大同小异。只是要注意一个小问题:本地可能存在多个 Vagrant 开发环境共享同一个 IP 端口,即 127.0.0.1:2222,这会导致 SSH 连接时报安全警告。在 %USERPROFILE%\.ssh\config 文件里添加如下配置:
Host Vagrant
HostName 127.0.0.1
Port 2222
User vagrant
StrictHostKeyChecking no
UserKnownHostsFile NUL其余就跟普通 SSH 远程差不多。比如:
- 不使用共享文件夹,代码放在虚拟机内提升性能
- 某些扩展需要在 SSH: Vagrant 远程环境中重新安装
- 在 VSCode 配置中使用
remote.extensionKind来强制扩展运行在本地或远程:json
{ "remote.extensionKind": { "GitHub.copilot-chat": ["ui", "workspace"] } }
扩展类型有两种:
- ui
应用于用户界面的扩展。运行在本地,无法访问远程代码。 - workerspace
应用于工作区的扩展。运行在远程,可以访问代码。
当不同虚拟机之间需要相互访问,可以使用 netsh interface portproxy add 命令来映射代理端口:
cmdnetsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=192.168.1.123 connectport=8080