Last active
August 29, 2024 10:57
-
-
Save LuisPalacios/050181e89255d486355500ec4e3c5802 to your computer and use it in GitHub Desktop.
Ejemplo VSCode settings.json para un Proyecto Golang para microservicios Dockerizados
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
// Configuración específica para el desarrollo en Go | |
// con soporte para la depuración, formateo y configuración | |
// específica para proyectos que se ejecutan como microservicios. | |
// Formateo y linting: Se configura gofmt como la herramienta de formateo predeterminada | |
// y golangci-lint como la herramienta de linting, con una bandera de –fast para realizar | |
// un análisis rápido. | |
// Depuración: La configuración de delve (dlv) para depurar aplicaciones Go está ajustada | |
// para manejar punteros y estructuras complejas de manera eficiente. | |
// Integración con Docker: Se configura VSCode para trabajar con Docker, incluyendo la | |
// instalación de las extensiones necesarias y la configuración del entorno de contenedores. | |
// Ejecución de pruebas: Se activa la ejecución automática de pruebas al guardar el código, | |
// lo que es útil para mantener la calidad del código de los microservicios. | |
// Compilación y terminal: Se configuran variables de entorno y flags de compilación | |
// específicos para asegurar que el código Go esté preparado para ejecutarse dentro de un | |
// contenedor Docker con GOOS y GOARCH configurados para Linux y arquitectura amd64. | |
// | |
// Activar el formato de código al guardar usando gofmt | |
"go.formatTool": "gofmt", | |
"editor.formatOnSave": true, | |
// Configurar el tamaño de las pestañas y el uso de espacios en lugar de tabs | |
"editor.tabSize": 4, | |
"editor.insertSpaces": false, | |
// Configuración de linting para Go | |
"go.lintTool": "golangci-lint", | |
"go.lintFlags": [ | |
"--fast" | |
], | |
// Configuración de depuración para Docker | |
"go.delveConfig": { | |
"dlvLoadConfig": { | |
"followPointers": true, | |
"maxVariableRecurse": 1, | |
"maxStringLen": 64, | |
"maxArrayValues": 64, | |
"maxStructFields": -1 | |
} | |
}, | |
// Configuración para manejar el entorno de Docker | |
"remote.containers.dockerPath": "/usr/local/bin/docker", | |
"remote.containers.defaultExtensions": [ | |
"golang.go", | |
"ms-azuretools.vscode-docker" | |
], | |
"remote.containers.workspaceFolder": "/workspace", | |
"go.toolsGopath": "/go", | |
// Definición de las asociaciones de archivos para manejar Dockerfiles y Go modules | |
"files.associations": { | |
"Dockerfile*": "dockerfile", | |
"go.mod": "go", | |
"go.sum": "go" | |
}, | |
// Ejecución automática de tests al guardar | |
"go.testOnSave": true, | |
"go.testFlags": ["-v"], | |
// Configuración de compilación para GOOS y GOARCH, ajustada para Docker | |
"go.buildFlags": [ | |
"-tags=containers", | |
"-ldflags=-linkmode=external" | |
], | |
// Definir los comandos para la terminal integrada | |
"terminal.integrated.env.linux": { | |
"GOOS": "linux", | |
"GOARCH": "amd64" | |
}, | |
// Desactivar la confirmación de eliminación en el explorador de archivos | |
"explorer.confirmDelete": false | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment