Personalizar as configurações do projeto e do editor

Concluído

Você configurou um contêiner de desenvolvimento para um dos projetos da sua agência. Agora "apenas funcionará" para quem tiver o Docker e a extensão Dev Containers. Eles ainda terão que instalar dependências. Eles também podem precisar de algumas extensões de código do Visual Studio que eles não conhecem.

Felizmente, você pode personalizar e automatizar totalmente toda a configuração do projeto usando o arquivo devcontainer.json.

Um olhar mais atento sobre devcontainer.json

Vamos examinar as principais opções no arquivo de .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 compilação

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"
},

Esta imagem está hospedada no repositório devcontainers/images, onde você pode verificá-la mais adiante. As imagens neste repositório são todas imagens pré-criadas, o que acelera seu fluxo de trabalho e resulta em uma configuração mais simples .devcontainer/devcontainer.json .

Você também pode usar arquivos conhecidos como Dockerfile ou Docker Compose para configurar sua configuração. Esses arquivos podem estar na sua pasta .devcontainer e permitir que você configure ainda mais certos requisitos de configuração, como a instalação de software adicional. Você pode saber mais na nossa documentação do contentor de desenvolvimento .

Caraterísticas

Contêiner de desenvolvimento Os recursos são unidades autônomas e compartilháveis de código de instalação e configuração de contêiner de desenvolvimento. O nome vem da ideia de que fazer referência a um deles permite que você adicione rápida e facilmente mais ferramentas, tempo de execução ou "Recursos" de biblioteca em seu contêiner de desenvolvimento para uso por você ou seus colaboradores.

Quando você usa o comando VS Code Dev Containers: Add Dev Container Configuration Files, é apresentada uma lista de scripts para personalizar as configurações de contêiner de desenvolvimento existentes, como a instalação do Git ou da 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 suportam contêineres de desenvolvimento, como VS Code e GitHub Codespaces.

Como exemplo, você pode definir vscode.settings para copiar configurações específicas da máquina 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 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 Python melhorada.

  • Você pode usar a matriz extensions dentro da propriedade customizations.vscode para especificar quais extensões do Visual Studio Code devem ser instaladas no Visual Studio Code quando ele se conecta 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 seus IDs.

Comando de criação posterior

A propriedade postCreateCommand 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 dependências. Mas como você saberia fazer isso? Talvez não. Você pode configurá-lo aqui para que aconteça automaticamente e os outros não tenham que se preocupar com isso.

No próximo exercício, você modificará o arquivo de devcontainer.json para automatizar vários aspetos do projeto que configurarão outros desenvolvedores para o sucesso imediato.