自定义项目和编辑器设置
你已为其中一个代理项目设置开发容器。 现在,它将为拥有 Docker 和开发容器扩展的任何人员“仅工作”。 他们仍然需要安装依赖性。 他们可能还需要一些他们不知道的 Visual Studio Code 扩展。
幸运的是,可以使用 devcontainer.json 文件完全自定义和自动化所有项目设置。
仔细了解 devcontainer.json
让我们从产品仪表板项目查看文件中的主要选项 .devcontainer/devcontainer.json
。 一次查看一次有点长,所以让我们在各节中查看它。
生成配置
该 image
属性根据所谓的容器 映像定义容器的创建方式。
"image": "mcr.microsoft.com/devcontainers/python:0-3.11"
},
此映像托管在 devcontainers/images 存储库中,可在其中进一步查看。 此存储库中的映像都是 预生成的映像,可加快工作流速度并生成更简单 .devcontainer/devcontainer.json
的配置。
还可以使用称为 Dockerfile 或 Docker Compose 文件的文件来配置设置。 这些文件可以位于你的 .devcontainer
文件夹中,并允许你进一步配置某些安装要求,例如安装其他软件。 可以在 开发容器文档中了解详细信息。
特点
开发容器 功能 是独立、可共享的安装代码和开发容器配置单元。 此名称源于这样一种想法,即引用其中一个功能,可让你快速轻松地将更多工具、运行时或库“功能”添加到开发容器中,供你或你的协作者使用。
使用 VS Code 命令“Dev Containers: Add Dev Container Configuration Files”时,会显示一个脚本列表,用于自定义现有开发容器配置,例如安装 Git 或 Azure CLI。
项目设置
文件的后面部分直接处理项目配置。
customizations
为 支持开发容器的产品(如 VS Code 和 GitHub Codespaces)设置特定于产品的属性。
例如,可以设置为 vscode.settings
将计算机特定的设置复制到容器中。 你可能在自己的 Visual Studio Code 设置中设置了这些设置。 通过将它们添加到其中 settings
,可以确保打开此项目的任何人都可以获取这些特定的 VS Code 设置。
在此 Python 容器中,可以在其基本映像mcr.microsoft.com/devcontainers/python:0-3.11
中看到这些设置。 他们为用户提供了改进的 Python 编辑体验。
- 可以使用
extensions
属性中的customizations.vscode
数组指定在连接到容器时应在 Visual Studio Code 中安装哪些 Visual Studio Code 扩展。 使用开发容器时,你的普通 Visual Studio Code 设置和你已有的所有扩展都不会出现。 此处指定了扩展及其 ID。
postCreateCommand
使用该 postCreateCommand
属性,可以在创建容器后运行所需的任何命令。 如果记得在第一个练习中,必须运行 pip3
命令来安装依赖项。 但是,你会怎么知道呢? 你可能没有。 可以在此处对其进行配置,以便自动发生,而其他人无需担心它。
在下一个练习中,你将修改 devcontainer.json 文件,以自动执行项目的多个方面,以便立即成功设置其他开发人员。