如何使用 "Visual Studio Code Remote - SSH" 设置到 Vagrant 容器的远程连接?

How to set a remote connection to a Vagrant container using "Visual Studio Code Remote - SSH"?

我正在探索名为 VSCode Remote Pack 的新集扩展,我想使用 Remote Container 扩展连接到 Vagrant 容器。使用 Windows 10 OS,我该怎么做?

我尝试了扩展,但它要求我安装 Docker,我认为它仅适用于 Docker 容器。但我想知道是否有人已经成功连接到 Vagrant 盒子。

这是来自扩展的文档:https://code.visualstudio.com/docs/remote/containers

VS Code Remote 容器当前仅支持 Docker(其实现执行 docker 命令)。如果您想查看支持的其他工具,请open a feature request

作为替代方案,您可以尝试使用 Remote SSH 连接到 vagrant 容器。这应该可行,但需要一些额外的容器设置

抱歉更新这么晚。

解决方案非常简单,正如@MnZrk 评论的那样,建立连接需要做的事情如下:

  • 运行vagrant ssh-config > some-file.txt。这将使用 SSH 生成一个配置为 运行 的文件。这是该文件的示例:
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/User/project/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
  ForwardAgent yes
  ForwardX11 yes

请注意主机名是 default,您可以将其重命名为您想要的任何名称,以便更容易识别它。

  • some-file.txt 的内容复制到您的 SSH 配置文件中。此文件可以直接从 vscode 编辑,方法是按 F1 并写入 Remote-SSH: Open Configuration File...,然后 select 用于 ssh 配置的文件。该文件打开后,只需将 some-file.txt 的内容复制到那里。

  • 最后,再次按F1并输入Remote-SSH: Connect to Host...,选择连接主机名default或者第一步写的want,仅此而已。