跳至主要内容

在 GitHub Classroom 中使用 GitHub Codespaces

您可以使用 GitHub Codespaces 作为作业的首选编辑器,为学生提供基于浏览器的 Visual Studio Code 环境,并实现一键式设置。

谁可以使用此功能?

作为课堂管理员的组织所有者可以为其组织启用 GitHub Codespaces,并将 GitHub Codespaces 集成到作业中作为支持的编辑器。有关课堂管理员的更多信息,请参阅“管理课堂”。

对于使用 GitHub Team 的组织,GitHub Codespaces 可用于 GitHub Classroom。要了解您是否有资格免费升级到 GitHub Team,请参阅“申请成为 GitHub 教育教师”。

关于 GitHub Codespaces

GitHub Codespaces 是一种即时的基于云的开发环境,它使用容器为您提供常见的编程语言、工具和开发实用程序。GitHub Codespaces 也可以配置,允许您创建自定义开发环境,使所有项目用户都能使用相同的环境。请参阅“GitHub Codespaces 概述”。

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

要开始使用 GitHub Codespaces,请参阅“GitHub Codespaces 快速入门”。有关创建 codespace 的更多信息,请参阅“为仓库创建 codespace”或“从模板创建 codespace”。如果您想返回到您已创建的 codespace,请参阅“打开现有的 codespace”。要了解有关 GitHub Codespaces 工作原理的更多信息,请参阅“深入了解 GitHub Codespaces”。

在 GitHub Classroom 作业中将 GitHub Codespaces 设置为作业的首选编辑器,对学生和教师都有益。对于使用借用设备或无法访问本地 IDE 设置的学生来说,GitHub Codespaces 是一个不错的选择,因为每个 codespace 都是基于云的,不需要本地设置。学生可以直接在浏览器中的 Visual Studio Code 中为作业仓库启动 codespace,并立即开始开发,无需任何其他配置。

对于设置环境复杂的作业,教师可以自定义仓库 codespace 的开发容器配置。这样可以确保学生创建 codespace 时,它会自动打开并使用教师配置的开发环境。有关开发容器的更多信息,请参阅“开发容器简介”。

注意

如果停止个人 codespace 并长时间未使用,则会自动将其删除。请参阅“配置 codespace 的自动删除”。

经验证的学生每月最多可免费使用 GitHub Codespaces 180 个核心小时,用于其个人帐户。学生每月可用的存储量和核心小时使用量与 GitHub 专业版帐户中包含的量相同。有关更多信息,请参阅“关于 GitHub Codespaces 的计费”。

注意

如果学生在 GitHub Classroom 的作业仓库中使用 GitHub Codespaces,则使用费用将计入拥有该课堂的组织,并且不会影响学生个人帐户的使用情况。

关于经验证教师的 Codespaces 教育福利

Codespaces 教育福利为经过验证的教师提供 GitHub Codespaces 每月免费使用额度,用于 GitHub Classroom。免费额度预计足以满足 50 名学生每月 5 次作业的需求,每个学生使用一台 2 核机器,并存储一个 Codespace。

注意

Codespaces 教育福利目前处于公开预览阶段,如有更改,恕不另行通知。在公开预览期间,即使您超过免费额度,您的组织也不会被收取费用。

要成为经过验证的教师,您需要获得教育工作者或教师福利的批准。请参阅“申请成为 GitHub Education 教师”。

确认您是经过验证的教师后,请访问GitHub 教育教师版,将组织升级到 GitHub Team。请参阅GitHub 产品

如果您有资格获得 Codespaces 教育福利,当您在 GitHub Classroom 中为您的组织启用 GitHub Codespaces 时,GitHub 会自动添加一个 Codespace 策略,以将组织中所有 Codespaces 的机器类型限制为 2 核机器。这有助于您充分利用免费的 GitHub Codespaces 使用额度。但是,您可以在组织设置中更改或删除这些策略。请参阅“限制对机器类型的访问”。

当 Codespaces 教育福利结束公开预览后,如果您的组织超过了 GitHub Codespaces 使用的免费额度,您的组织将被收取额外使用费。请参阅“关于 GitHub Codespaces 的计费”。

为您的组织启用 Codespaces

使用 GitHub Team 的组织可以使用 GitHub Classroom 使用 GitHub Codespaces。如果您有资格获得 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. 在课堂名称下,单击 设置.

    Screenshot of the tabs in a classroom. The "Settings" tab is outlined in dark orange.

  4. 在“GitHub Codespaces”下,单击**启用**。这将为组织中的所有存储库和用户启用 GitHub Codespaces。还会添加新的 Codespace 策略,以将组织中所有 Codespaces 的机器类型限制为 2 核机器。

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

配置作业以使用 Codespaces

要使 GitHub Codespaces 可供学生在作业中使用,您可以选择 GitHub Codespaces 作为作业支持的编辑器。创建新作业时,在“添加入门代码并选择可选在线 IDE”页面中,“添加支持的编辑器”下,从下拉菜单中选择**GitHub Codespaces**。

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

使用 GitHub Codespaces 启动作业

当学生打开作业时,存储库的 README 文件包含其教师对他们应该使用的 IDE 的建议。

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

Screenshot of the assignment repository. The "Code" dropdown menu to launch a new codespace is expanded.

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

Screenshot of the assignment overview. The Codespaces icon is outlined in dark orange.

当您通过浏览器连接到 Codespace 时,自动保存功能会自动启用。如果您想将更改保存到存储库,则需要提交更改并将其推送到远程分支。如果您默认情况下在 30 分钟内未与您的 Codespace 交互,则 Codespace 将超时并停止运行。您的数据将从您上次进行更改时保留。有关 Codespace 生命周期的更多信息,请参阅“了解 Codespace 生命周期”。