Aller au contenu
Tout en local

générateur devcontainer.json

Créez un devcontainer.json pour VS Code Dev Containers, avec un Dockerfile optionnel.

Sortie

générateur devcontainer.json

Choisissez un langage et cet outil génère un devcontainer.json prêt à l'emploi pour l'extension Dev Containers de VS Code (et GitHub Codespaces, qui lit le même fichier). Sélectionnez Node.js, Python, Go, PHP, Java ou une simple image de base Ubuntu, définissez la version et le générateur remplit l'image Microsoft devcontainers correspondante, un utilisateur de conteneur par défaut sensé et un port par défaut à transférer.

Les options correspondent directement aux champs qu'un vrai devcontainer.json nécessite. Activez les fonctionnalités Git et Docker-in-Docker, ou ajoutez Node.js à un conteneur non-Node, et ils arrivent dans l'objet « features » avec la bonne référence ghcr.io. Énumérez les ports transférés, un postCreateCommand et un postStartCommand pour exécuter les étapes de configuration automatiquement au démarrage du conteneur. Les extensions et paramètres VS Code vont sous « customizations.vscode », un identifiant d'extension ou un paramètre clé=valeur par ligne. L'activation de « Monter un volume en cache » ajoute un volume nommé pour le cache de dépendances du langage — node_modules, cache de pip, cache de modules Go — pour qu'une reconstruction ne recommence pas de zéro. L'activation de « Générer également un Dockerfile » remplace le champ « image » par une référence « build » et produit un Dockerfile correspondant à côté.

Les entrées invalides sont supprimées plutôt que de casser le fichier : un port mal formé, un identifiant d'extension qui n'est pas dans la forme publisher.name, ou une ligne de paramètres sans « = » est ignorée, et le champ version ne garde que lettres, chiffres, points et tirets avant d'atteindre la balise d'image. Le résultat est toujours du JSON valide et analysable, et le compteur en direct sous la sortie montre combien de fichiers, de fonctionnalités et de caractères ont été générés au fur et à mesure que vous ajustez les options.

Tout s'exécute localement dans votre navigateur — les détails du projet, la liste des extensions ou la configuration de l'environnement ne quittent jamais votre machine. Copiez le résultat, téléchargez-le en tant que fichier .txt à coller dans .devcontainer/devcontainer.json (et Dockerfile, si vous l'avez généré), ou envoyez-le à l'entrée d'un autre outil pour continuer à travailler dessus.

FAQ

Où ce fichier va-t-il dans mon projet ?
Enregistrez-le sous .devcontainer/devcontainer.json. Si vous avez également généré un Dockerfile, enregistrez-le sous .devcontainer/Dockerfile dans le même dossier.
Que sont les « fonctionnalités » dans un devcontainer.json ?
Les fonctionnalités sont de petits éléments de configuration réutilisables — installer Git, activer Docker-in-Docker, ajouter un runtime de langage — qui sont ajoutés à l'image de base sans que vous ayez besoin d'écrire un Dockerfile.
Que se passe-t-il si je laisse le champ de version vide ?
Le générateur utilise la balise d'image par défaut actuelle de ce langage, de sorte que le fichier est toujours valide sans que vous ayez besoin d'en chercher une.
Pourquoi mon identifiant d'extension ou mon port a-t-il disparu de la sortie ?
Une entrée qui ne correspond pas à la forme attendue — un identifiant d'extension sans le format publisher.name, ou un port en dehors de 1–65535 — est supprimé pour que le fichier généré reste toujours valide.
Ma configuration de projet est-elle téléchargée quelque part ?
Non. Le devcontainer.json (et Dockerfile) sont générés entièrement dans votre navigateur à partir des options que vous choisissez — rien n'est envoyé à un serveur.