跳至主要内容

在 JetBrains IDE 中使用 GitHub Codespaces

您可以使用 JetBrains Gateway 连接到您的 Codespace,并在您最喜欢的 JetBrains IDE 中工作。

注意

  • 在 JetBrains IDE 中使用 GitHub Codespaces 目前处于公开预览阶段,可能会发生变化。
  • 要在 JetBrains IDE 中处理 Codespace,您必须使用 JetBrains Gateway 的 2023.3.* 或 2024.1.* 版本。

关于 JetBrains IDE 中的 Codespaces

如果您使用 JetBrains IDE 处理代码,则可以利用在 Codespace 中工作的优势。您可以通过使用 JetBrains Gateway 应用程序来实现这一点。

安装 JetBrains Gateway 后,您可以将其设置为 Codespaces 的默认编辑器。如果这样做,那么每次从 GitHub 打开 Codespace 时,JetBrains Gateway 都会启动,允许您选择 JetBrains IDE 并连接到 Codespace。

在 Codespace 中工作时,您将在本地计算机上使用 JetBrains 瘦客户端应用程序。它提供了您选择的完整 JetBrains IDE 的图形界面,该界面运行在托管 Codespace 的远程虚拟机上。即使本地安装了完整的 JetBrains IDE,也会始终使用瘦客户端。瘦客户端会导入并使用任何本地 JetBrains IDE 设置。

注意

JetBrains Gateway 中仅提供现有的 Codespace。您可以在 GitHub 中或使用 GitHub CLI 创建 Codespace。有关更多信息,请参阅“为存储库创建 Codespace”。

JetBrains 远程开发连接流程

在 JetBrains IDE 中使用 Codespace 的基本流程如下所示。

  1. 在 JetBrains Gateway 应用程序中,选择一个处于活动状态或已停止的 Codespace。
  2. 然后选择要使用的 JetBrains IDE。
  3. 然后,所选的 JetBrains IDE 将下载到托管 Codespace 和源代码的远程虚拟机上。
  4. 然后,JetBrains 瘦客户端应用程序将下载到您的本地计算机并启动。
  5. 客户端应用程序连接到完整的后端 IDE。
  6. 您可以在客户端应用程序中以与在本地环境中相同的方式处理代码。

先决条件

要在 JetBrains IDE 中的 Codespace 中工作,您需要

  • 有效的 JetBrains 许可证
  • JetBrains Gateway 应用程序,版本 2023.3.* 或 2024.1.*
  • 一个在至少具有 4 个内核的虚拟机上运行的现有 Codespace。Codespace 还必须运行 SSH 服务器。有关更多信息,请参阅“Codespace 运行 SSH 服务器”。

JetBrains 许可证

您必须拥有支持您在 JetBrains Gateway 中选择的 IDE 的 JetBrains 许可证。

JetBrains Gateway

您可以从 JetBrains Toolbox 应用程序安装和更新 JetBrains Gateway。

  1. 下载并安装 JetBrains Toolbox

  2. 打开 JetBrains Toolbox。

  3. 在可用工具列表中找到**Gateway**。

    Screenshot of the JetBrains Toolbox with "Gateway" at the bottom of the list of applications. Each application has an "Install" button next to it.

  4. 在**Gateway**右侧,单击省略号(...),然后单击**可用版本**。

  5. 在版本列表中,在受支持的版本(请参阅“先决条件”)旁边,单击**安装**。

Codespace 运行 SSH 服务器

您必须拥有要连接到的现有 Codespace,并且托管 Codespace 的虚拟机必须至少具有 4 个内核。您可以在 GitHub、Visual Studio Code 中或使用 GitHub CLI 创建 Codespace。有关更多信息,请参阅“为存储库创建 Codespace”。

您连接到的 Codespace 必须运行 SSH 服务器。默认的开发容器映像包括一个 SSH 服务器,该服务器会自动启动。如果您的 Codespace 不是从默认映像创建的,则可以通过将以下内容添加到 devcontainer.json 文件中的 features 对象中来安装并启动 SSH 服务器。

"features": {
    // ...
    "ghcr.io/devcontainers/features/sshd:1": {
        "version": "latest"
    },
    // ...
}

有关 devcontainer.json 文件和默认容器映像的更多信息,请参阅“开发容器简介”。

注意

有关通过 SSH 连接到 Codespace 的帮助,请参阅“GitHub Codespaces 客户端疑难解答”。

设置 JetBrains Gateway

首次将 JetBrains Gateway 用于 GitHub Codespaces 时,必须安装 Codespaces 插件。您还必须允许 JetBrains Gateway 使用您的 GitHub 帐户访问 GitHub。

  1. 打开 JetBrains Toolbox 应用程序。

  2. 在已安装工具列表中,单击**Gateway**。

  3. 在**安装更多提供程序**下,单击 GitHub Codespaces 的**安装**链接。

    Screenshot of the "Welcome to JetBrains Gateway" page, with  "GitHub Codespaces" listed under "Install More Providers."

  4. 单击**连接到 Codespace**。

    Screenshot of the Gateway with the "Connect to Codespaces" button.

  5. 首次连接时,系统会提示您选择是否允许 GitHub 收集匿名使用数据,以提高功能和用户体验。单击**允许**或**拒绝**。

    如果需要,您可以在以后更改您的选择,方法是在 GitHub Codespaces 插件的设置中更改,您可以从 JetBrains Gateway 设置中访问这些设置。

  6. 在“欢迎使用 JetBrains Gateway”对话框中,单击**使用 GitHub 登录**。

  7. 单击一次性代码旁边的图标以复制它。

    Screenshot of a one-time login code. The copy icon beside the code is highlighted with a dark orange outline.

  8. 单击登录代码下方的登录链接。

  9. 如果您当前未登录 GitHub,则会显示登录页面。

    • 输入您的详细信息,然后单击**登录**。
    • 验证您的身份验证,例如输入双因素身份验证代码。
  10. 在“设备激活”页面上,粘贴复制的代码,然后单击**继续**。

  11. 如果您属于组织,则会显示“登录到您的组织”页面。单击您要授权 JetBrains Gateway 访问的组织旁边的**授权**,然后单击**继续**。

  12. 在“授权 JetBrains 使用 GitHub Codespaces”页面上,单击**授权 GitHub**。

  13. 返回 JetBrains Gateway 应用程序,并从当前活动或已停止的 Codespace 列表中打开一个 Codespace,请参阅以下过程的步骤 3。

在 JetBrains IDE 中打开 Codespace

如果您已将 JetBrains Gateway 设置为默认编辑器,则当您从 GitHub 打开 Codespace 时,Gateway 会自动启动。

如果 JetBrains Gateway 不是您的默认编辑器,您仍然可以通过转到 github.com/codespaces 上的“您的 Codespace”页面并单击要打开的 Codespace 右侧的省略号 (...) 在 JetBrains 中打开 Codespace。有关更多信息,请参阅“打开现有 Codespace”。

或者,您也可以打开 JetBrains Gateway 并选择一个现有的 Codespace,如以下过程所述。

  1. 打开 JetBrains Gateway 应用程序。

  2. 单击**连接到 Codespaces**。

    Screenshot of the JetBrains Gateway home page, showing the "Connect to Codespaces" button.

  3. 在“您的 Codespace”列表中,单击您要使用的 Codespace。

    Screenshot of the "Your Codespaces" list in the JetBrains Gateway.

  4. 在“可用 IDE”列表中,单击您要使用的 JetBrains IDE。下次连接到 Codespace 时,Gateway 会记住您的选择。

    Screenshot the "Select IDE" dropdown list in the JetBrains Gateway. The mouse pointer is pointing to "IntelliJ IDEA."

  5. 单击**连接**。

    注意

    • 如果您选择 Rider 作为您的 JetBrains IDE,并且存储库包含多个解决方案文件,则会显示“设置解决方案路径”对话框,提示您选择要使用的解决方案。从下拉菜单中选择一个解决方案文件,然后单击**确定**。

      如果存储库没有解决方案文件,Rider 会以基本项目目录视图打开,并且功能有限。例如,您将无法获得特定于 .NET 的代码导航。如果存储库中只有一个解决方案文件,它将自动使用,而不会显示提示。有关更多信息,请参阅 JetBrains 文档中的“创建和打开项目和解决方案”。

    • 如果您正在运行防火墙,则首次连接到远程资源时,系统可能会提示您允许 JetBrains Gateway 通过您的网络进行通信。

    首次连接到 Codespace 时,后端 IDE 将下载到远程计算机。这可能需要几分钟。下次连接到同一 Codespace 时,此步骤将不再需要,从而使连接过程更快。

    然后启动后端 IDE。同样,如果您重新连接到已保持运行的后端 IDE,则此步骤将不再需要。

    然后启动客户端应用程序。

进一步阅读