SSH 支持

VSCode 中通常的 SSH 支持由 Microsoft 授权,因此我们为 Windsurf 实现了自己的支持。它确实要求您安装OpenSSH,但除此之外,依赖关系很少,应该可以像您习惯的那样“正常工作”。

此扩展对于我们的内部开发非常有用,但也存在一些已知的注意事项和错误:

  • 我们当前仅支持通过 SSH 连接到基于 Linux 的远程主机,具有 x64 架构。

  • 常见的 Microsoft“远程 - SSH”扩展(和open-remote-ssh扩展)将不起作用 - 请不要安装它们,因为它们与我们的支持冲突。

  • 目前,我们还没有 Microsoft SSH 扩展的所有功能。我们主要只支持重要的事情:连接到主机。如果您有功能请求,请告诉我们!

  • 通过 SSH 连接到远程主机,然后访问该远程主机上的开发容器将无法像在 VSCode 中那样工作。(我们正在努力!)目前,如果您想这样做,我们建议您在开发容器内手动设置 SSH 守护程序。以下是我们发现有效的设置,但请小心确保它适合您的用例。

    1. 在 devcontainer 中,运行一次(运行多次可能会弄乱你的sshd_config):
     
    sudo -s -- <<HERE
    sed -i '/SSO SSH Config START/Q' /etc/ssh/sshd_config
    echo "Port 2222" >> /etc/ssh/sshd_config
    ssh-keygen -A
    HERE
    


    1. 在 devcontainer 中,在保持活动的终端中运行此命令(例如通过 tmux):
     
    sudo /usr/sbin/sshd -D
    


    1. 然后只需通过 windsurf 中的 SSH 连接到远程主机,但使用端口 2222。


  • SSH 代理转发默认开启,并将使用 Windsurf 与该主机的最新连接。如果您遇到问题,请尝试重新加载窗口以刷新连接。


  • 在 Windows 上,当系统要求输入密码时,您会看到一些cmd.exe窗口。这是意料之中的 — 我们很快就会移除它们。


  • 如果您遇到问题,请首先确保您可以使用ssh终端中的常规方式 ssh 进入远程主机。如果问题仍然存在,请将选项卡的输出包含Output > Remote SSH (Windsurf)在任何错误报告中!


Dev Containers

Windsurf 还支持开发容器!如果您想在 Linux 机器上本地运行开发容器,可以使用以下三个命令:

  1. Open Folder in Container
    • 使用指定的 devcontainer.json 文件打开新的工作区
  2. Reopen in Container
    • 在新的容器中重新打开当前工作区,指定 devcontainer.json 文件来配置容器。
  3. Attach to Running Container
    • 如果您已经有一个正在运行的开发容器,则可以将远程服务器附加到该容器并将当前工作区连接到它。

笔记

  • SSH + Dev Containers 目前不受 Windsurf 支持,但我们计划在未来支持它。
  • 目前仅支持基于 Linux 的 x86 架构。

扩展市场

您可以更改用于下载扩展程序的市场。为此,请转到“查看” -> “扩展程序”,单击“在设置中更改”链接,然后相应地修改设置。