Vai al contenuto
100% locale

generatore devcontainer.json

Crea un devcontainer.json per VS Code Dev Containers, con un Dockerfile facoltativo.

Uscita

generatore devcontainer.json

Scegli un linguaggio e questo strumento genera un devcontainer.json pronto all'uso per l'estensione Dev Containers di VS Code (e GitHub Codespaces, che legge lo stesso file). Seleziona Node.js, Python, Go, PHP, Java o una semplice immagine base Ubuntu, imposta la versione e il generatore riempie l'immagine Microsoft devcontainers corrispondente, un utente del contenitore predefinito sensato e una porta predefinita da inoltrare.

Le opzioni si mappano direttamente sui campi che un vero devcontainer.json necessita. Attiva le funzionalità Git e Docker-in-Docker, o aggiungi Node.js a un contenitore non-Node, e appariranno nell'oggetto "features" con il corretto riferimento ghcr.io. Elenca le porte inoltrate, un postCreateCommand e un postStartCommand per eseguire i passaggi di configurazione automaticamente all'avvio del contenitore. Le estensioni e le impostazioni di VS Code vanno sotto "customizations.vscode", un ID estensione o un'impostazione chiave=valore per riga. L'attivazione di "Monta un volume cache" aggiunge un volume denominato per la cache delle dipendenze del linguaggio — node_modules, cache di pip, cache di moduli Go — in modo che una ricostruzione non ricominci da zero. L'attivazione di "Genera anche un Dockerfile" sostituisce il campo "image" con un riferimento "build" e produce un Dockerfile corrispondente accanto ad esso.

Le voci non valide vengono eliminate piuttosto che rompere il file: una porta malformata, un ID estensione che non è nel formato publisher.name, o una riga di impostazione senza "=" viene semplicemente saltata, e il campo versione rimuove tutto ciò che non è una lettera, una cifra, un punto o un trattino prima di raggiungere il tag dell'immagine. Il risultato è sempre JSON valido e analizzabile, e il contatore dal vivo sotto l'output mostra quanti file, funzionalità e caratteri sono stati generati mentre regoli le opzioni.

Tutto viene eseguito localmente nel tuo browser — i dettagli del progetto, l'elenco delle estensioni o la configurazione dell'ambiente non lasciano mai il tuo computer. Copia il risultato, scaricalo come file .txt da incollare in .devcontainer/devcontainer.json (e Dockerfile, se l'hai generato), o invialo all'input di un altro strumento per continuare a lavorarci.

FAQ

Dove va questo file nel mio progetto?
Salvalo come .devcontainer/devcontainer.json. Se hai generato anche un Dockerfile, salvalo come .devcontainer/Dockerfile nella stessa cartella.
Cosa sono le "funzionalità" in un devcontainer.json?
Le funzionalità sono piccoli elementi di configurazione riutilizzabili — installare Git, abilitare Docker-in-Docker, aggiungere un runtime del linguaggio — che vengono aggiunti all'immagine base senza che tu debba scrivere un Dockerfile.
Cosa succede se lascio vuoto il campo della versione?
Il generatore utilizza il tag dell'immagine predefinito corrente di quel linguaggio, quindi il file è sempre valido senza che tu debba cercarne uno.
Perché il mio ID estensione o porta è scomparso dall'output?
Una voce che non corrisponde alla forma prevista — un ID estensione senza il formato publisher.name, o una porta al di fuori di 1–65535 — viene eliminata in modo che il file generato rimanga sempre valido.
La mia configurazione del progetto viene caricata da qualche parte?
No. Il devcontainer.json (e Dockerfile) viene generato interamente nel tuo browser dalle opzioni che scegli — nulla viene inviato a un server.