Personalizar as definições do projeto e do editor
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.11
base. 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.