Personalizar as definições do projeto e do editor

Concluído

Configurou um contentor dev 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. Poderão também precisar de algumas extensões do Visual Studio Code que não conhecem.

Felizmente, pode personalizar e automatizar totalmente toda a configuração do projeto com o ficheiro devcontainer.json.

Uma análise mais detalhada do devcontainer.json

Vamos examinar as principais opções no .devcontainer/devcontainer.json arquivo do projeto Painel de produtos. É um pouco longo para examinarmos tudo de uma só vez, por isso, vamos examinar por secções.

Compilar a configuraçã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.

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

Funcionalidades

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.

Definiçõ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. Poderá ter estas definições na sua 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.

  • Pode utilizar a matriz extensions (extensões) para especificar que extensões devem ser instaladas no Visual Studio Code quando este se ligar ao contentor. 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.

postCreateCommand

A postCreateCommand propriedade permite executar todos os comandos desejados após a criação do contêiner. Deverá recordar-se de que, no primeiro exercício, teve de executar o comando pip3 para instalar dependências. Mas saberia como fazê-lo? Poderia não saber. 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, irá modificar o ficheiro devcontainer.json para automatizar vários aspetos do projeto e facilitar a sua utilização por parte de outros programadores.