Personnaliser les paramètres du projet et de l’éditeur

Effectué

Vous avez configuré un conteneur de développement pour l’un des projets de votre agence. Il va maintenant « fonctionner simplement » pour toute personne disposant de Docker et de l’extension Dev Containers. Vous devrez toujours installer des dépendances. Ils peuvent également avoir besoin d’extensions Visual Studio Code qu’elles ne connaissent pas.

Heureusement, vous pouvez entièrement personnaliser et automatiser toute la configuration du projet à l’aide du fichier devcontainer.json.

Un aperçu plus approfondi de devcontainer.json

Examinons les principales options du .devcontainer/devcontainer.json fichier à partir du projet Products Dashboard. C'est un peu long de tout regarder en une fois, donc regardons-le par sections.

Configuration de build

La image propriété définit la façon dont le conteneur sera créé, en fonction de ce qu’on appelle une image conteneur.

"image": "mcr.microsoft.com/devcontainers/python:0-3.11"
},

Cette image est hébergée dans le référentiel devcontainers/images, où vous pouvez l’extraire plus loin. Les images de ce référentiel sont toutes des images prédéfinies, ce qui accélère votre flux de travail et entraîne une configuration plus simple .devcontainer/devcontainer.json .

Vous pouvez également utiliser des fichiers appelés Dockerfile ou un fichier Docker Compose pour configurer votre configuration. Ces fichiers peuvent résider dans votre .devcontainer dossier et vous permettre de configurer davantage certaines exigences d’installation, telles que l’installation de logiciels supplémentaires. Vous pouvez en savoir plus dans notre documentation sur les conteneurs de développement.

Fonctionnalités

Les fonctionnalités de conteneur de développement sont des unités autonomes et partageables de code d’installation et de configuration de conteneur de développement. Ce nom provient de l’idée que le référencement de l’un d’eux vous permet d’ajouter rapidement et facilement d’autres « fonctionnalités » d’outils, d’exécution ou de bibliothèque dans votre conteneur de développement que vous pouvez utiliser, vous ou vos collaborateurs.

Lorsque vous utilisez la commande de VS Code Dev Containers : Ajouter des fichiers de configuration de conteneur de développement, on vous présente une liste de scripts pour personnaliser les configurations de conteneur de développement existantes, telles que l’installation de Git ou de l'Azure CLI.

Paramètres du projet

Une section ultérieure du fichier traite directement de la configuration du projet.

customizations définit des propriétés spécifiques au produit pour les produits qui prennent en charge les conteneurs de développement, tels que VS Code et GitHub Codespaces.

Par exemple, vous pouvez définir vscode.settings pour copier des paramètres spécifiques à l’ordinateur dans le conteneur. Vous pouvez avoir ces paramètres dans votre propre configuration de Visual Studio Code. En les ajoutant au settings, vous assurez que toute personne qui ouvre ce projet obtient ces paramètres VS Code spécifiques.

Dans ce conteneur Python, vous pouvez voir ces paramètres dans son image mcr.microsoft.com/devcontainers/python:0-3.11de base. Ils offrent à l’utilisateur une expérience d’édition Python améliorée.

  • Vous pouvez utiliser le extensions tableau dans la customizations.vscode propriété pour spécifier les extensions Visual Studio Code qui doivent être installées dans Visual Studio Code lorsqu’elles se connectent au conteneur. Votre configuration normale de Visual Studio Code et toutes les extensions dont vous disposez déjà ne seront pas présentes lorsque vous utilisez des conteneurs de développement. Les extensions sont spécifiées ici avec leurs ID.

postCreateCommand

La postCreateCommand propriété vous permet d’exécuter toutes les commandes souhaitées après la création du conteneur. Si vous vous souvenez du premier exercice, vous devez exécuter la pip3 commande pour installer les dépendances. Mais comment savez-vous faire ça ? Vous pourriez ne pas le faire. Vous pouvez le configurer ici afin qu’il se produise automatiquement et d’autres n’auront pas à vous en soucier.

Dans l’exercice suivant, vous allez modifier le fichier devcontainer.json pour automatiser plusieurs aspects du projet qui configureront d’autres développeurs pour une réussite immédiate.