自定义项目和编辑器设置
你已为其中一个代理项目设置开发容器。 现在,它将为拥有 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 文件,以自动执行项目的多个方面,以便立即成功设置其他开发人员。