👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Learn more on the GitHub blog.


我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

为项目配置 Codespaces

您可以为仓库的每个新代码空间设置默认配置,以确保贡献者在其联机开发环境中拥有所需的所有工具和设置。

对仓库具有写入权限的人员可以创建或编辑默认代码空间配置。

代码空间可用于使用 GitHub Free 或 GitHub Pro 的用户帐户。 更多信息请参阅“GitHub 的产品”。

本文内容

Were you able to find what you were looking for?

注:代码空间 目前是有限公测版,可能会有变动。 在公测期间,GitHub 不对 代码空间 的可用性做任何保证。 有关加入公测的更多信息,请参阅“关于 代码空间”。

关于默认代码空间配置

您可以为仓库创建默认代码空间配置,以确定任何人员为该仓库创建的每个新代码空间的环境。 配置可以包括框架、工具、扩展和端口转发。

也可为您的帐户创建的任何代码空间个性化代码空间环境的各个方面。 个性化可以包括 shell 首选项和其他工具。 dotfiles 个性化的应用先于仓库的默认码空间配置。 更多信息请参阅“个性化您帐户的 代码空间”。

您可以使用项目类型的预建容器配置创建默认代码空间配置,也可以根据项目需要创建自定义配置。

代码空间 使用仓库根目录下或 .devcontainer 文件夹下 devcontainer.json 文件包含的设置。 您可以使用 devcontainer.json 为整个代码空间环境设置默认设置,包括 Visual Studio Code 编辑器,但您也可以在 .vscode/set.json 文件中设置编辑器特定的设置。

对仓库代码空间配置的更改只会应用到每个新的代码空间,而不影响任何现有的代码空间。

使用预建容器配置

您可以对 vscode-dev-containers 仓库中的 Visual Studio Code 使用任何预建容器配置。 预建容器定义包括特定项目类型的共同配置,可帮助您利用现有的配置快速开始使用,配置中已经有适当的容器选项、Visual Studio Code 设置和应该安装的 Visual Studio Code 扩展。

  1. 克隆或下载 vscode-dev-containers 仓库。
  2. vscode-dev-containers 仓库中,导航到 containers 文件夹,然后选择符合项目需求的容器配置。 我们将使用 Node.js 12 & JavaScript 容器配置作为示例。
  3. .devcontainer 文件夹从 javascript-node-12 文件夹复制到项目仓库的根目录。
  4. 提交并推送新配置到 GitHub 上的项目仓库。

从包含 .devcontainer 文件夹的分支创建的每个新代码空间将根据文件夹内容进行配置。 更多信息请参阅“创建代码空间”。

创建自定义代码空间配置

如果没有预建配置满足您的需求,可通过将 devcontainer.json 文件添加到仓库根目录或.devcontainer 文件夹来创建自定义配置。 在该文件中,您可以使用支持的配置键来指定代码库环境的各个方面,例如要安装哪些 Visual Studio Code 扩展。

配置 Visual Studio Code 的编辑器设置时,有三个可用的作用域:工作区远程 [Codespaces]用户。 如果在多个作用域中定义了设置,工作区设置优先级最高,远程 [Codespaces] 次之,最后是用户

您可以在两个地方定义 Visual Studio Code 的默认编辑器设置。

  • .vscode/settings.json 中定义的编辑器设置在代码空间中用作 Workspace 范围的设置。
  • devcontainer.jsonsettings 键中定义的编辑器设置在代码空间中用作 Remote [Codespaces] 范围的设置。

支持的代码空间配置键

您可以在 devcontainer.json 中使用 代码空间 支持的配置键。

常规设置

  • name
  • settings
  • extensions
  • forwardPorts
  • devPort
  • postCreateCommand

Docker、Dockerfile 或映像设置

  • image
  • dockerFile
  • context
  • containerEnv
  • remoteEnv
  • containerUser
  • remoteUser
  • updateRemoteUserUID
  • mounts
  • workspaceMount
  • workspaceFolder
  • runArgs
  • overrideCommand
  • shutdownAction
  • dockerComposeFile

有关可用于 devcontainer.json 的设置的更多信息,请参阅 Visual Studio Code 文档中的 devcontainer.json 参考

Were you able to find what you were looking for?

问问别人

找不到要找的内容?

联系我们