Skip to main content

将 GitHub Codespaces 与 GitHub Classroom 配合使用

你可以将 GitHub Codespaces 用作作业中的首选编辑器,使学生能够通过一键式设置访问基于浏览器的 Visual Studio Code 环境。

谁可以使用此功能?

Organization owners who are admins for a classroom can enable GitHub Codespaces for their organization and integrate GitHub Codespaces as the supported editor for an assignment. 有关课堂管理员的详细信息,请参阅“管理教室”。

对于使用 GitHub Team 的组织,GitHub Codespaces 可与 GitHub Classroom 搭配使用。 若要了解是否有资格免费升级到 GitHub Team,请参阅“以教师身份申请加入 GitHub Global Campus”。

关于 GitHub Codespaces

GitHub Codespaces 是一个基于云的即时开发环境,它使用容器为你提供用于开发的通用语言、工具和实用程序。 GitHub Codespaces 也是可配置的,使你能为项目的所有用户创建相同的自定义开发环境。 有关详细信息,请参阅“GitHub Codespaces 概述”。

在组织或企业中启用 GitHub Codespaces 后,用户可以从组织或企业存储库中的任何分支或提交创建 codespace,并开始使用基于云的计算资源进行开发。 您可以从浏览器或使用 Visual Studio Code 本地连接到代码空间。

若要开始使用 GitHub Codespaces,请参阅“GitHub Codespaces 快速入门”。 有关创建 codespace 的详细信息,请参阅“为存储库创建 codespace”或“通过模板创建 codespace”。 如果要返回到已创建的 codespace,请参阅“打开现有 codespace”。 若要详细了解 GitHub Codespaces 的工作原理,请参阅“深入了解 GitHub Codespaces”。

将 GitHub Codespaces 设置为 GitHub Classroom 作业的首选编辑器对学生和教师都很有用。 GitHub Codespaces 是使用租赁设备或无法访问本地 IDE 设置的学生的理想选择,因为每个 codespace 都是基于云的,不需要进行本地设置。 学生可以直接在浏览器中为 Visual Studio Code 中的作业存储库启动 codespace,并立即开始开发,而无需进一步的配置。

对于具有复杂设置环境的作业,教师可以自定义存储库 codespace 的开发容器配置。 这可以确保学生在创建 codespace 时,它会自动打开由教师配置的开发环境。 有关开发容器的详细信息,请参阅“开发容器简介”。

注意:各个 codespace 会在停止且长时间未使用的情况下自动删除。 有关详细信息,请参阅“配置 codespace 的自动删除”。

经过验证的学生可以免费使用其个人帐户的 GitHub Codespaces,每月最多可使用 180 个核心小时。 学生每月可用的存储量和核心使用小时数相当于 GitHub Pro 帐户中包含的量。 有关详细信息,请参阅“关于 GitHub Codespaces 的计费”。

注意:如果学生在其 GitHub Classroom 的作业存储库中使用 GitHub Codespaces,则使用费用由教室所属组织承担,不影响学生个人账户的使用。

关于经过验证的教师的 Codespaces 教育权益

Codespaces 教育权益为经过验证的教师提供每月限额的免费 GitHub Codespaces 小时数,可在 GitHub Classroom 中使用。 免费限额估计足够一个每月有 5 次作业的 50 人班级使用,在一台双核机器上,每个学生存储 1 个 codespace。

注意:Codespaces 教育权益目前为公共 beta 版本,可能随时会变动。 在 beta 版本中,如果超出免费额度,则不会向你的组织收费。

若要成为经过验证的教师,需要获得教师权益的批准。 有关详细信息,请参阅“以教师身份申请加入 GitHub Global Campus”。

在确认你是一名经过验证的教师后,请访问 GitHub Global Campus for Teachers,将组织升级为 GitHub 团队。 有关详细信息,请参阅“GitHub 的产品”。

如果你有资格获得 Codespaces 教育权益,则当你在 GitHub Classroom 中为组织启用 GitHub Codespaces 时,GitHub 会自动添加 Codespace 策略,以将组织内所有 codespace 的计算机类型限制为双核计算机。 这有助于充分利用免费的 GitHub Codespaces 使用量。 但是,可以在组织设置中更改或移除这些策略。 有关详细信息,请参阅“限制对计算机类型的访问”。

当 Codespaces 教育权益移出 beta 版时,如果你的组织超出 GitHub Codespaces 的免费使用限额,则你的组织将因额外使用量而付费。 有关详细信息,请参阅“关于 GitHub Codespaces 的计费”。

为组织启用 Codespaces

对于使用 GitHub Team 的组织,GitHub Codespaces 可与 GitHub Classroom 搭配使用。 如果你有资格获得 Codespaces 教育权益,则必须通过 GitHub Classroom 启用 GitHub Codespaces,而不是直接在你的组织设置中启用它。 否则,你的组织将直接针对 GitHub Codespaces 的所有使用量付费。

创建新课堂时为组织启用 Codespaces

  1. 登录 GitHub Classroom
  2. 在页面右侧,单击“新建课堂”。
  3. 在组织列表中,单击您希望用于教室的组织。 有资格使用 GitHub Codespaces 的组织将有一条备注,显示他们符合条件。 (可选)您可以创建一个新组织。 有关详细信息,请参阅“从头开始创建新组织”。
  4. 在“命名课堂”页的“课堂中的 Codespaces”下,单击“启用”。 请注意,这将为组织中的所有存储库和用户启用 GitHub Codespaces。
  5. 准备好创建新课堂时,单击“创建课堂”。

通过现有课堂为组织启用 Codespaces

  1. 登录 GitHub Classroom

  2. 在课堂列表中,单击要查看的课堂。

  3. 在课堂名称下,单击 “设置”。

    课堂中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。

  4. 在“GitHub Codespaces”下,单击“启用”。 这将为组织中的所有存储库和用户启用 GitHub Codespaces。 还添加了新的 Codespace 策略,用于将组织中所有 codespace 的计算机类型限制为双核计算机。

还可以使用与上述相同的方法为组织禁用 GitHub Codespaces。 请注意,这将为组织中的所有用户和存储库禁用 GitHub Codespaces。

配置作业以使用 Codespaces

若要使学生可以使用 GitHub Codespaces 来完成作业,可以选择 GitHub Codespaces 作为作业支持的编辑器。 创建新作业时,在“添加初学者代码并选择可选的联机 IDE”页的“添加受支持的编辑器”下,从下拉菜单中选择“GitHub Codespaces”。

如果使用模板存储库完成作业,则可以在存储库中定义开发容器,以便在学生启动 codespace 处理作业时自定义可供学生使用的工具和运行时。 如果未定义开发容器,GitHub Codespaces 将使用默认配置,其中包含学生可能需要开发的许多常用工具。 有关定义开发容器的详细信息,请参阅“将开发容器配置添加到存储库”。

使用 GitHub Codespaces 启动作业

当学生打开作业时,存储库的自述文件包括其教师建议的 IDE,他们应该使用该 IDE 来完成工作。

学生可以通过单击 README 中的“在 GitHub Codespace 中打开”按钮,或通过单击作业存储库主页上的“ 代码”按钮,然后选择“Codespaces”选项卡来启动新的或现有的 codespace。在“Codespaces”选项卡中,可以选择现有 codespace 或新建一个 。 有关详细信息,请参阅“为存储库创建 codespace”。

分配存储库的屏幕截图。 用于启动新 codespace 的“代码”下拉菜单已展开。

教师可以在作业概述页中查看每个学生的作业 codespace。 可以单击每个学生行右侧的 Codespaces 图标以启动 codespace。

分配概述的屏幕截图。 Codespaces 图标以深橙色框出。

通过浏览器连接到 codespace 时,会自动启用自动保存。 如果要将更改保存到存储库,则需要提交更改并将其推送到远程分支。 如果默认情况下允许 codespace 在没有互动的情况下运行 30 分钟,codespace 将超时并停止运行。 将保留上次更改以来的数据。 有关 codespace 生命周期的详细信息,请参阅“了解 codespace 生命周期”。