Introdução ao Dev Container no Visual Studio Code
A extensão Dev Containers do Visual Studio Code permite o uso de um contêiner Docker como um ambiente de desenvolvimento completo. Ela oferece a possibilidade de abrir qualquer pasta ou repositório dentro de um contêiner, aproveitando todas as funcionalidades do Visual Studio Code. Um arquivo chamado devcontainer.json no seu projeto instrui o VS Code sobre como acessar (ou criar) um contêiner de desenvolvimento com um conjunto definido de ferramentas e uma pilha de runtime. Esse contêiner pode ser usado para executar uma aplicação ou para fornecer ferramentas, bibliotecas ou runtimes separados necessários para trabalhar com um código-fonte.
Caminho para Criar um Dev Container
Neste documento, percorreremos os passos para criar um contêiner de desenvolvimento (dev) no VS Code:
Criando um arquivo devcontainer.json
A configuração do contêiner no VS Code é armazenada em um arquivo devcontainer.json. Este arquivo é semelhante ao arquivo launch.json para configurações de depuração, mas é usado para iniciar (ou anexar a) seu contêiner de desenvolvimento. A configuração do dev container está localizada em .devcontainer/devcontainer.json ou armazenada como um arquivo .devcontainer.json na raiz do seu projeto.
Você pode usar uma imagem como ponto de partida para seu devcontainer.json. Uma imagem é como um mini-drive com várias ferramentas e um sistema operacional pré-instalados. Você pode obter imagens de um registro de contêineres, que é uma coleção de repositórios que armazenam imagens. Aqui está um exemplo simples de devcontainer.json que usa uma imagem pré-construída do Contêiner de Desenvolvimento VS Code com TypeScript e Node.js:
{ "image": "mcr.microsoft.com/devcontainers/typescript-node:0-18" }
Você pode alterar sua configuração para fazer coisas como:
Por exemplo, se você quiser instalar a extensão Code Spell Checker no seu contêiner e encaminhar automaticamente a porta 3000, seu devcontainer.json ficaria assim:
{
"image": "mcr.microsoft.com/devcontainers/typescript-node", "customizations": {
"vscode": {
"extensions": ["streetsidesoftware.code- spell-checker"] } },
"forwardPorts": [3000] }
Recomendados pelo LinkedIn
Instalando Software Adicional
Você pode querer instalar softwares adicionais no seu dev container. Uma vez conectado ao contêiner pelo VS Code, você pode abrir um terminal do VS Code e executar qualquer comando contra o sistema operacional dentro do contêiner. Isso permite instalar novas utilidades de linha de comando e iniciar bancos de dados ou serviços de aplicativos dentro do contêiner Linux.
A maioria das imagens de contêineres é baseada em Debian ou Ubuntu, onde o comando apt ou apt-get é usado para instalar novos pacotes. Você pode aprender mais sobre o comando na documentação do Ubuntu. Imagens Alpine incluem um comando apk similar, enquanto imagens CentOS/RHEL/Oracle SE/Fedora usam yum ou, mais recentemente, dnf.
Por exemplo, para instalar o Git, você poderia executar os seguintes comandos no terminal integrado do VS Code:
# Se o sudo estiver instalado e configurado
sudo apt-get update
# Instalar Git
sudo apt-get install git
Dockerfile e Docker Compose
Além de usar o devcontainer.json, você pode utilizar um Dockerfile para customizar ainda mais seu dev container. O Dockerfile também fica na pasta .devcontainer. Você pode substituir a propriedade da imagem no devcontainer.json por dockerfile:
{ "build": { "dockerfile": "Dockerfile" }, "customizations": { "vscode": { "extensions": ["dbaeumer.vscode-eslint"] } }, "forwardPorts": [3000] }
Em casos onde um único ambiente de contêiner não é suficiente, você pode usar o Docker Compose para configurar configurações multi-contêiner.
Compartilhando Configurações do Contêiner
Você pode compartilhar facilmente uma configuração personalizada de Dev Container para seu projeto adicionando arquivos devcontainer.json ao controle de versão. Incluindo esses arquivos em seu repositório, qualquer pessoa que abrir uma cópia local do seu repositório no VS Code será automaticamente solicitada a reabrir a pasta em um contêiner, desde que tenha a extensão Dev Containers instalada.
Conclusão
Parabéns! Você configurou um contêiner de desenvolvimento no Visual Studio Code. Continue lendo para aprender como compartilhar configurações de contêineres entre colegas de equipe e vários projetos.