Personalización de la configuración del editor y del proyecto
Ha configurado un contenedor de desarrollo para uno de los proyectos de su agencia. Ahora "solo funcionará" para todas las personas que tengan Docker y la extensión Dev Containers. Todavía tienen que instalar las dependencias. Es posible que también necesiten algunas extensiones de Visual Studio Code que no conocen.
Afortunadamente, puede personalizar y automatizar completamente toda la configuración del proyecto mediante el archivo devcontainer.json.
Una mirada más detallada a devcontainer.json
Examinemos las opciones principales del archivo .devcontainer/devcontainer.json
del proyecto de panel de productos. Examinarlo todo de una vez es un poco largo, por lo que se hará en secciones.
Configuración de compilación
La propiedad image
define cómo se creará el contenedor en función de lo que se conoce como una imagen de contenedor.
"image": "mcr.microsoft.com/devcontainers/python:0-3.11"
},
Esta imagen se hospeda en el repositorio devcontainers/images, en el que puede consultarla más. Las imágenes de este repositorio son todas las imágenes precompiladas, que aceleran el flujo de trabajo y dan lugar a una configuración .devcontainer/devcontainer.json
más sencilla.
También puede usar archivos conocidos como Dockerfile o un archivo de Docker Compose para configurar la configuración. Estos archivos pueden residir en la carpeta .devcontainer
y le permiten configurar aún más determinados requisitos de configuración, como la instalación de software adicional. Puede obtener más información en nuestra documentación sobre el contenedor de desarrollo.
Características
El contenedor de desarrollo Features son unidades autónomas, y que se pueden compartir, del código de instalación y la configuración del contenedor de desarrollo. El nombre procede de la idea de que hacer referencia a uno de ellos le permite agregar más herramientas, tiempo de ejecución o la biblioteca "Features" en el contenedor de desarrollo para que lo use usted o sus colaboradores.
Al usar el comando de VS Code Contenedores de desarrollo: Agregar archivos de configuración de contenedores de desarrollo, se le presenta una lista de scripts para personalizar las configuraciones de contenedor de desarrollo existentes, como instalar Git o la CLI de Azure.
Configuración del proyecto
La última sección del archivo trata directamente con la configuración del proyecto.
customizations
establece propiedades específicas de producto para productos que admiten contenedores de desarrollo, como VS Code y GitHub Codespaces.
Por ejemplo, puede establecer vscode.settings
para copiar la configuración específica de la máquina en el contenedor. Es posible que tenga estos valores en la configuración propia de Visual Studio Code. Al agregarlos a settings
, se asegura de que cualquiera que abra este proyecto obtenga estos valores de VS Code específicos.
En este contenedor de Python, puede ver esta configuración en su imagen base mcr.microsoft.com/devcontainers/python:0-3.11
. En este contenedor de Python, estos valores ofrecen al usuario una experiencia de edición de Python mejorada.
- Puede usar la matriz
extensions
dentro de la propiedadcustomizations.vscode
para especificar qué extensiones de Visual Studio Code se deben instalar en Visual Studio Code cuando se conecta al contenedor. La configuración normal de Visual Studio Code y todas las extensiones que ya tiene no estarán presentes cuando use Dev Containers. Las extensiones se especifican aquí con sus identificadores.
postCreateCommand
La propiedad postCreateCommand
le permite ejecutar los comandos que quiera después de crear el contenedor. Si recuerda el primer ejercicio, tuvo que ejecutar el comando pip3
para instalar las dependencias. Pero ¿sabría cómo hacerlo? Puede que no lo sepa. Puede configurarlo aquí para que se produzca de forma automática y otros no tendrán que preocuparse por ello.
En el ejercicio siguiente, modificará el archivo devcontainer.json para automatizar varios aspectos del proyecto que prepararán a otros desarrolladores para un éxito inmediato.