Personalizar as configurações do projeto e do editor
Você configurou um contêiner de desenvolvimento para um dos projetos da sua agência. Agora ele "funcionará apenas" para qualquer pessoa que tenha o Docker e a extensão Contêineres de Desenvolvimento. Ainda será necessário instalar as dependências. Eles também podem precisar de algumas extensões do Visual Studio Code sobre as quais não sabem.
Felizmente, você pode personalizar e automatizar totalmente toda a configuração do projeto usando o arquivo devcontainer.json.
Uma visão mais detalhada do devcontainer.json
Vamos examinar as principais opções do arquivo .devcontainer/devcontainer.json do projeto Painel de Produtos. É um pouco longo para ver tudo de uma vez, então vamos analisá-lo por partes.
Configuração de build
A image propriedade define como o contêiner será criado, com base no que é conhecido como uma imagem de contêiner.
"image": "mcr.microsoft.com/devcontainers/python:0-3.11"
},
Essa imagem está hospedada no repositório devcontainers/imagens, onde você pode explorá-la ainda mais. As imagens neste repositório são todas imagens predefinidas, que aceleram seu fluxo de trabalho e resultam em uma configuração mais .devcontainer/devcontainer.json simples.
Você também pode usar arquivos conhecidos como dockerfile ou um arquivo docker compose para configurar sua configuração. Esses arquivos podem residir em sua .devcontainer pasta e permitir que você configure ainda mais determinados requisitos de instalação, como a instalação de software adicional. Você pode saber mais em nossa documentação de contêiner de desenvolvimento.
Características
Os recursos do contêiner de desenvolvimento são unidades autocontidas e compartilháveis de código de instalação e configuração de contêiner de desenvolvimento. O nome vem da ideia de que referenciar um deles permite que você adicione, de forma rápida e fácil, mais ferramentas, runtime ou biblioteca de "Recursos" a seu contêiner de desenvolvimento para uso por você ou seus colaboradores.
Ao usar o comando Contêineres de Desenvolvimento: Adicionar Arquivos de Configuração de Contêiner de Desenvolvimento do VS Code, você verá uma lista de scripts para personalizar as configurações existentes de contêineres de desenvolvimento, seja para instalar o Git ou a CLI do Azure.
Configurações do projeto
Uma seção posterior do arquivo lida diretamente com a configuração do projeto.
customizations define propriedades específicas do produto para produtos que dão suporte a contêineres de desenvolvimento, como o VS Code e o GitHub Codespaces.
Por exemplo, você pode definir vscode.settings como copiar configurações específicas do computador para o contêiner. Você pode ter essas configurações em sua própria configuração do Visual Studio Code. Ao adicioná-los ao settings, você garante que qualquer pessoa que abra este projeto obtenha essas configurações específicas do VS Code.
Neste contêiner do Python, você pode ver essas configurações em sua imagem mcr.microsoft.com/devcontainers/python:0-3.11base. Eles dão ao usuário uma experiência de edição aprimorada do Python.
- Você pode usar a matriz
extensionsdentro da propriedadecustomizations.vscodepara especificar quais extensões do Visual Studio Code devem ser instaladas quando ele se conectar ao contêiner. Sua configuração normal do Visual Studio Code e todas as extensões que você já tem não estarão presentes quando você estiver usando Contêineres de Desenvolvimento. As extensões são especificadas aqui com suas IDs.
postCreateCommand
A postCreateCommand propriedade permite executar todos os comandos desejados após a criação do contêiner. Se você se lembra do primeiro exercício, você teve que executar o comando pip3 para instalar as dependências. Mas como você saberia fazer isso? Talvez não. Você pode configurá-lo aqui para que isso aconteça automaticamente e outras pessoas não precisarão se preocupar com isso.
No próximo exercício, você modificará o arquivo devcontainer.json para automatizar vários aspectos do projeto que configurarão outros desenvolvedores para sucesso imediato.