跳至主要内容

在 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 都是基于云的,不需要本地设置。学生可以在浏览器中直接为作业仓库启动一个 Codespace,并在 Visual Studio Code 中开始开发,无需任何进一步的配置。

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

注意:如果 Codespace 停止并长时间未使用,则会自动删除。有关更多信息,请参阅 "配置 Codespace 的自动删除."

已验证的学生可以免费使用 GitHub Codespaces,每月最多 180 个核心小时,用于个人账户。学生每月可用的存储空间和核心小时数与 GitHub Pro 账户包含的量相同。有关更多信息,请参阅 "关于 GitHub Codespaces 的计费."

注意:如果学生在 GitHub Classroom 的作业仓库中使用 GitHub Codespaces,则使用量将计入拥有该课堂的组织,不会影响学生的个人账户的使用量。

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

Codespaces 教育福利为已验证的教师提供每月免费的 GitHub Codespaces 小时数,用于在 GitHub Classroom 中使用。免费配额估计足以满足一个 50 人的班级,每月 5 个作业,使用 2 核机器,每个学生存储 1 个 Codespace。

注意:Codespaces 教育福利目前处于公开测试阶段,可能会发生变化。在测试版发布期间,如果您的组织超过了免费配额,将不会收取费用。

要成为验证过的教师,您需要获得教育工作者或教师福利的批准。有关更多信息,请参阅“申请加入 GitHub 教育平台作为教师”。

确认您是验证过的教师后,请访问 GitHub 教育平台教师版 将组织升级到 GitHub Team。有关更多信息,请参阅 GitHub 产品

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

当 Codespaces 教育福利退出测试版时,如果您的组织超过了 GitHub Codespaces 使用量的免费配额,您的组织将被收取额外使用费。有关更多信息,请参阅“关于 GitHub Codespaces 的计费”。

为您的组织启用 Codespaces

GitHub Codespaces 可用于使用 GitHub Team 的组织的 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. 在课堂名称下,点击 设置.

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

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

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

配置使用 Codespaces 的作业

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

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

使用 GitHub Codespaces 启动作业

当学生打开作业时,仓库的 README 文件将包含老师对他们应该使用哪种 IDE 进行工作的建议。

学生可以通过 README 中的 **在 GitHub Codespace 中打开** 按钮或作业仓库主页上的 ** 代码** 按钮启动新的或现有的 Codespace,然后选择 **Codespaces** 选项卡。在 **Codespaces** 选项卡中,您可以选择现有的 Codespace 或创建一个新的 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 时,自动保存功能会自动启用。如果您想将更改保存到仓库,则需要提交更改并将它们推送到远程分支。默认情况下,如果您在 Codespace 中保持运行状态 30 分钟而没有交互,Codespace 将超时并停止运行。您的数据将从您上次进行更改时保存。有关 Codespace 生命周期的更多信息,请参阅 "了解 Codespace 生命周期"。