自定义项目和编辑器设置
你已为所在机构的某个项目设置了开发容器。 现在,对于拥有 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 编辑体验。
- 可以使用
customizations.vscode
属性中的extensions
数组指定在 Visual Studio Code 连接到容器时应在其中安装的 Visual Studio Code 扩展。 使用开发容器时,常规 Visual Studio Code 设置以及所有现有的扩展将不会显示。 此处用扩展 ID 指定了扩展。
postCreateCommand
创建容器后,通过 postCreateCommand
属性可以运行所需的任何命令。 如果还记得第一个练习,当时就必须运行 pip3
命令才能安装依赖项。 但怎么知道要这样操作呢? 你可能不知道。 可以在此处对其进行配置,使其自动发生,而其他人则不必担心它。
下一个练习中将修改 devcontainer.json 文件以自动完成项目的多个方面,这将使其他开发人员立即取得成功。