Ir para o conteúdo
Totalmente local

Gerador devcontainer.json

Construa um devcontainer.json pronto para VS Code Dev Containers, com suporte para múltiplas linguagens e um Dockerfile opcional incluído.

Saída

Gerador devcontainer.json

Escolha uma linguagem e esta ferramenta constrói um devcontainer.json pronto para usar com a extensão VS Code Dev Containers (e GitHub Codespaces, que lê o mesmo ficheiro). Selecione Node.js, Python, Go, PHP, Java ou uma imagem base Ubuntu simples, defina a versão e o gerador preenche a imagem Microsoft devcontainers correspondente, um utilizador container adequado e uma porta padrão para reencaminhar.

As opções mapeiam-se diretamente nos campos que um devcontainer.json real precisa. Ative os recursos Git e Docker-in-Docker, ou adicione Node.js a um container não-Node, e chegam ao objeto "features" com a referência ghcr.io correta. Liste portas reencaminhadas, um postCreateCommand e um postStartCommand para executar passos de configuração automaticamente quando o container inicia. Extensões e configurações do VS Code vão sob "customizations.vscode", uma id de extensão ou uma configuração chave=valor por linha. Ativar "Montar um volume de cache" adiciona um volume nomeado para o cache de dependências da linguagem — node_modules, cache do pip, cache de módulos Go — para que uma reconstrução não comece do zero. Ativar "Gerar também um Dockerfile" troca o campo "image" por uma referência "build" e produz um Dockerfile correspondente ao lado.

Entradas inválidas são descartadas em vez de quebrar o ficheiro: uma porta malformada, uma id de extensão que não está na forma publisher.name, ou uma linha de configurações sem "=" é simplesmente ignorada, e o campo de versão remove qualquer coisa que não seja letra, dígito, ponto ou hífen antes de chegar à tag de imagem. O resultado é sempre JSON válido e analisável, e o contador ao vivo abaixo do resultado mostra quantos ficheiros, recursos e caracteres foram gerados enquanto ajusta as opções.

Tudo funciona localmente no seu navegador — nenhum detalhe de projeto, lista de extensões ou configuração de ambiente sai nunca da sua máquina. Copie o resultado, descarregue como ficheiro .txt para colar em .devcontainer/devcontainer.json (e Dockerfile, se gerou um), ou envie para a entrada de outra ferramenta para continuar trabalhando nele.

FAQ

Onde vai este ficheiro no meu projeto?
Guarde como .devcontainer/devcontainer.json. Se gerou um Dockerfile também, guarde-o como .devcontainer/Dockerfile na mesma pasta.
O que são "features" num devcontainer.json?
Features são pequenas peças de configuração reutilizáveis — instalar Git, ativar Docker-in-Docker, adicionar um runtime de linguagem — que são adicionadas à imagem base sem você ter que escrever um Dockerfile.
O que acontece se deixar o campo de versão vazio?
O gerador usa a tag de imagem padrão atual dessa linguagem, portanto o ficheiro é sempre válido sem você ter que procurar uma.
Por que a minha ID de extensão ou porta desapareceu do resultado?
Uma entrada que não corresponde à forma esperada — uma id de extensão sem o formato publisher.name, ou uma porta fora de 1–65535 — é descartada para que o ficheiro gerado sempre permaneça válido.
A minha configuração de projeto é carregada em algum lugar?
Não. O devcontainer.json (e Dockerfile) são gerados inteiramente no seu navegador a partir das opções que escolhe — nada é enviado para um servidor.