Skip to main content

打开现有 codespace

可以重新打开已关闭或已停止的 codespace 并返回到工作。

Note

GitHub Codespaces 在 GHE.com 的子域(例如 octocorp.ghe.com)上不可用。

Note

  • 将 GitHub Codespaces 与 JetBrains IDE 结合使用的功能目前为 公共预览版,可能随时更改。
  • 若要在 JetBrains IDE 中处理 Codespace,必须使用 2023.3.* 或 2024.1.* 版本的 JetBrains 网关。

您可以在 GitHub、JetBrains IDE 中、Visual Studio Code 中或使用 GitHub CLI 重新打开任何活动或已停止的代码空间。 无法重新打开已删除的 codespace。 请参阅“了解 codespace 生命周期”。

可以在“你的 codespace”页 (github.com/codespaces) 上查看所有 codespace。 在此页中,可以:

从存储库页恢复 codespace

在 GitHub 上查看存储库时,可以快速恢复 codespace。

  1. 在 GitHub 上显示存储库的“ 代码”选项卡时,按“,”(逗号键)。

    随即将显示“恢复 codespace”页。 这样可以恢复存储库当前所选分支的最近使用的 codespace,如果正在查看拉取请求,则恢复该拉取请求的主题分支的最近使用的 codespace。

    “恢复 codespace”页的屏幕截图,其中显示了“恢复此 codespace”和“新建 codespace”按钮。

  2. 单击“恢复此 codespace”。

    或者,如果要为存储库的此分支新建 codespace,请单击“新建 codespace”。

    Note

    如果你在此分支没有现有的 codespace,则页面标题为“Create codespace”,并会显示一个标记为“Create a new codespace”的按钮****。

如果要快速返回到此页面地址以恢复 codespace,则可将此页面地址加入书签。 或者你也可在链接中使用这个地址,为其他人提供一种快速方法来为此存储库创建和恢复自己的 codespace。

从“你的 codespaces”页打开现有 codespace

  1. 在 GitHub 的左上角,选择 ,然后单击“ Codespace”,转到 github.com/codespaces 上的“你的 codespace”页面。

  2. 要在默认编辑器中打开 codespace,请单击 codespace 的名称。 您可以在个人设置页面中设置 Codespaces 的默认编辑器。 请参阅“设置 GitHub Codespaces 的默认编辑器”。

    如需从非默认编辑器中打开 codespace,请执行以下操作:

    1. 单击要打开的 codespace 右侧的省略号 (...)。
    2. 单击“在...中打开”。
    3. 单击“在应用程序中打开”。

    “打开位置”对话框的屏幕截图,其中突出显示了“在 Visual Studio Code
中打开”。

    可以在以下项中打开 codespace:

    • 浏览器
    • Visual Studio Code
    • JetBrains 网关
    • JupyterLab

    如果选择“Visual Studio Code”或“JetBrains 网关”,则必须确保已在本地计算机上安装所选应用程序。

    如果选择“JupyterLab”,则必须在 codespace 中安装 JupyterLab 应用程序。 默认开发容器映像包括 JupyterLab,因此从默认映像创建的 codespaces 将始终安装 JupyterLab。 有关默认映像的详细信息,请参阅“开发容器简介”以及 devcontainers/images 存储库。 如果未在开发容器配置中使用默认映像,则可以通过将 ghcr.io/devcontainers/features/python 功能添加到 devcontainer.json 文件来安装 JupyterLab。 应该包括选项 "installJupyterlab": true。 有关详细信息,请参阅 devcontainers/features 存储库中 python 功能的 README 文件。

链接到现有 codespace

可以创建指向现有 codespace 的链接。 如果你有一个经常返回的长期 codespace,这将非常有用。 可以将链接保存在你选择的位置中,作为使用 https://github.com/codespaces 上的链接的替代项。

Note

你只能打开自己的 codespace。 如果有人单击指向你的其中一个 codespace 的链接,他们将看到 404 错误消息。

使用以下其中一种 URL 模式创建链接。 在这些 URL 中,CODESPACE-NAME 表示 Codespace 的唯一永久名称,例如 literate-space-parakeet-w5vg5ww5p793g7g9,而不是 Codespace 的显示名称。 你可以通过将链接复制到 https://github.com/codespaces 页面上的 codespace 并从 URL 中提取 codespace 名称来查找 codespace 的名称。

链接将打开于链接语法
VS Code Web 客户端https://CODESPACE-NAME.github.dev
具有指定工作区的 VS Code Web 客户端https://CODESPACE-NAME.github.dev?folder=/workspaces/PATH/TO/WORKSPACE/DIRECTORY
VS Code 桌面应用程序https://github.com/codespaces/CODESPACE-NAME?editor=vscode
JetBrains 网关https://github.com/codespaces/CODESPACE-NAME?editor=jetbrains
JupyterLabhttps://github.com/codespaces/CODESPACE-NAME?editor=jupyter

重新打开现有 codespace

Note

要在 VS Code 中使用 GitHub Codespaces,你需要安装 Codespaces 扩展。 请参阅“在 Visual Studio Code 中使用 GitHub Codespaces”。

  1. 在 VS Code 桌面应用程序中,使用 Command+Shift+P (Mac) 或 Ctrl+Shift+P (Windows/Linux) 打开命令面板。

  2. 键入“Codespaces”并选择以下命令之一。

    • 要在 VS Code 的新窗口中打开 codespace,请选择“Codespaces: 在新窗口中打开 Codespace”
    • 要在 Web 编辑器中打开 codespace,请选择“Codespaces: 在浏览器中打开”
  3. 单击要打开的 codespace。

    VS Code 命令面板的屏幕截图,其中显示了可用于连接的代码空间列表。

还可通过导航到 VS Code 中的“远程资源管理器”视图并右键单击要打开的 codespace 来访问上面列出的命令。

在“远程资源管理器”中选择的 codespace 的屏幕截图,右键单击菜单中突出显示了“在浏览器中打开”。

Note

如果远程资源管理器未显示在活动栏中:

  1. 访问命令面板。 例如,通过按 Shift+Command+P (Mac)/Ctrl+Shift+P (Windows/Linux)。
  2. 键入:details
  3. 单击“Codespace: 详细信息”。

链接到现有 codespace

可以创建指向现有 codespace 的链接。 如果你有一个经常返回的长期 codespace,这将非常有用。 可以将链接保存在你选择的位置中,作为使用 https://github.com/codespaces 上的链接的替代项。

Note

你只能打开自己的 codespace。 如果有人单击指向你的其中一个 codespace 的链接,他们将看到 404 错误消息。

使用以下其中一种 URL 模式创建链接。 在这些 URL 中,CODESPACE-NAME 表示 Codespace 的唯一永久名称,例如 literate-space-parakeet-w5vg5ww5p793g7g9,而不是 Codespace 的显示名称。 你可以通过将链接复制到 https://github.com/codespaces 页面上的 codespace 并从 URL 中提取 codespace 名称来查找 codespace 的名称。

链接将打开于链接语法
VS Code Web 客户端https://CODESPACE-NAME.github.dev
具有指定工作区的 VS Code Web 客户端https://CODESPACE-NAME.github.dev?folder=/workspaces/PATH/TO/WORKSPACE/DIRECTORY
VS Code 桌面应用程序https://github.com/codespaces/CODESPACE-NAME?editor=vscode
JetBrains 网关https://github.com/codespaces/CODESPACE-NAME?editor=jetbrains
JupyterLabhttps://github.com/codespaces/CODESPACE-NAME?editor=jupyter

重新打开现有 codespace

如果已安装 GitHub CLI,则可以使用它来处理 GitHub Codespaces。 有关 GitHub CLI 的安装说明,请参阅 GitHub CLI 存储库

  1. 在终端中,输入以下 GitHub CLI 命令之一。

    • 若要在 VS Code 中删除 codespace,请输入:

      Shell
      gh codespace code
      

      Note

      必须在本地计算机上安装 VS Code。 请参阅 VS Code 文档中的“设置 Visual Studio Code”。

    • 若要在浏览器中打开 codespace,请输入:

      Shell
      gh codespace code --web
      
    • 要在 JupyterLab 中打开 codespace,请输入:

      Shell
      gh codespace jupyter
      

      Note

      JupyterLab 应用程序必须安装在要打开的 Codespace 中。 默认开发容器映像包括 JupyterLab,因此从默认映像创建的 codespaces 将始终安装 JupyterLab。 有关默认映像的详细信息,请参阅“开发容器简介”以及 devcontainers/images 存储库。 如果未在开发容器配置中使用默认映像,则可以通过将 ghcr.io/devcontainers/features/python 功能添加到 devcontainer.json 文件来安装 JupyterLab。 应该包括选项 "installJupyterlab": true。 有关详细信息,请参阅 devcontainers/features 存储库中 python 功能的 README 文件。

    • 若要通过 SSH 从命令行访问 codespace,请输入:

      Shell
      gh codespace ssh
      
  2. 使用箭头键导航到要打开的 codespace。

  3. 若要打开 codespace,请按 Enter

请参阅 GitHub CLI 手册中的“gh codespace code”。

重新打开现有 codespace

如果已将 JetBrains 网关设置为默认编辑器,则在从 GitHub 打开 codespace 时,网关将自动启动。

如果 JetBrains 网关不是默认编辑器,你仍然可以在 JetBrains 中打开 codespace,方法是转到 github.com/codespaces 的“你的 codespace”页,然后单击要打开的 codespace 右侧的省略号 (...)。 有关详细信息,请参阅“打开现有 codespace”。

或者,也可以打开 JetBrains 网关并选择现有 codespace,如以下过程所述。

  1. 打开 JetBrains 网关应用程序。

  2. 单击“连接到 Codespaces”。

    JetBrains Gateway 主页的屏幕截图,其中显示了“连接到 Codespaces”按钮。

  3. 在“你的 Codespace”列表中,单击要处理的 codespace。

    JetBrains Gateway 中的“你的 Codespace”列表的屏幕截图。

  4. 在“可用 IDE”列表中,单击要使用的 JetBrains IDE。 下次连接到 codespace 时,网关将记住你的选择。

    JetBrains Gateway 中的“选择 IDE”下拉列表的屏幕截图。 鼠标指针指向“IntelliJ IDEA”。

  5. 单击“连接” 。

    Note

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

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

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

延伸阅读