Desarrollar Go con VSCode
Visual Studio Code (abreviado VS Code) es un editor de código gratuito y de código abierto desarrollado por Microsoft, que admite múltiples lenguajes de programación y ofrece funciones como resaltado de código, autocompletado inteligente, refactorización y depuración.
Con la extensión oficial de Go para Visual Studio Code, puedes obtener una serie de capacidades prácticas que impulsan el desarrollo de proyectos Go, como sugerencias inteligentes, navegación de código, búsqueda de símbolos, pruebas unitarias y depuración de programas.
Si aún no conoces VS Code o no lo has instalado, puedes consultar:Tutorial de VSCode。
Instalar el complemento de Go
Abre el mercado de extensiones de VS Code y busca:Go Extension for VS Code。
En el editor, haz clic en Extensiones en el lado izquierdo, luego busca Go e instala el complemento oficial:

Una vez completada la instalación, podemos empezar a escribir código Go; puedes escribirfmt.Probar la función de sugerencias inteligentes:

Sugerencias inteligentes (IntelliSense)
Las sugerencias inteligentes las proporciona el servicio de lenguaje gopls, mantenido por el equipo oficial de Go, y se pueden personalizar las reglas de ejecución mediante las opciones de configuración de gopls.

1. Resaltado semántico
VS Code resalta el código basándose en la sintaxis de TextMate de forma predeterminada. Si deseas un resaltado semántico de mejor calidad, actívalo en la configuraciónui.semanticTokens:
"gopls": { "ui.semanticTokens": true }
2. Autocompletado de código
Al editar código fuente Go, el complemento muestra sugerencias de autocompletado en tiempo real, con soporte para miembros del paquete actual, paquetes ya importados y paquetes aún no importados; escribe el nombre del paquete + . para invocar las sugerencias de métodos/constantes del paquete correspondiente.
Atajo de teclado:
Ctrl+空格(⌃Space)Evocar manualmente la ventana de autocompletado
3. Información de documento al pasar el cursor
Al pasar el mouse sobre variables, funciones y estructuras, una ventana emergente muestra detalles como documentación de comentarios y firmas de funciones.
4. Sugerencia de parámetros de función
Al escribir el paréntesis izquierdo de la función(se muestra automáticamente la firma de los parámetros formales; al introducir argumentos, el subrayado cambia siguiendo al parámetro que se está completando;
Atajo de teclado:
Shift+Cmd+空格(⇧⌘Space)Activar manualmente la sugerencia de parámetros cuando el cursor esté dentro de los paréntesis
Navegación de código
El menú contextual del editor incluye un conjunto completo de funciones de navegación de código:
- F12 Ir a la definición: Entra en la definición fuente del tipo/variable
- Ir a la definición de tipo: Localiza el código fuente del tipo subyacente de la variable
- Alt+F12(⌥F12) Vista previa de la definición: Vista previa del código fuente en una ventana emergente, sin cambiar de archivo
- Shift+F12(⇧F12) Buscar referencias: Lista todas las posiciones donde el símbolo actual es referenciado
- Shift+Alt+H(⇧⌥H) Jerarquía de llamadas: Muestra la cadena de llamantes y llamados de la función
- Cmd+F12(⌘F12) Ver implementación: Para una interfaz, ver todas las clases que la implementan; para una clase concreta, ver todas las interfaces que implementa
Abre la paleta de comandosShift+Cmd+P(⇧⌘P), para saltar rápidamente mediante la búsqueda de símbolos:
Shift+Cmd+O(⇧⌘O): Busca símbolos dentro del archivo actualCmd+T(⌘T): Busca símbolos globalmente en todo el espacio de trabajo
Usa el comandoGo: Toggle Test File, para alternar rápidamente entre el código de negocio y el archivo de prueba correspondiente.
Formato de código
- Atajo de teclado:
Shift+Alt+F(⇧⌥F)Formatear el archivo actual con un solo clic - También se puede ejecutar «Formatear documento» desde la paleta de comandos o el menú contextual
Configuración de formato
Desactivar el formato automático al guardar
"[go]": { "editor.formatOnSave": false }Designar el complemento de Go como herramienta de formato predeterminada para archivos Go
"[go]": { "editor.defaultFormatter": "golang.go" }Habilitar el estilo de formato estricto de gofumpt (más estricto que el gofmt nativo)
"gopls": { "formatting.gofumpt": true }El formato se implementa internamente mediante gopls
Pruebas unitarias
El panel de pruebas de la barra lateral de VS Code + los botones rápidos de CodeLens sobre el código admitenfunciones/archivos/paquetes/todo el proyectopara pruebas unitarias, pruebas de referencia (benchmarks) y muestreo de rendimiento.
En la paleta de comandos introduceGo: testpara ver todos los comandos de prueba; los más comunes:
- Go: Test Function At Cursor: Ejecuta la prueba de la función donde se encuentra el cursor
- Go: Test File: Ejecuta todos los casos de prueba del archivo actual
- Go: Test Package: Ejecuta todas las pruebas del paquete de código actual
- Go: Test All Packages in Workspace: Pruebas por lotes de todo el proyecto

Los primeros 3 comandos pueden generar automáticamente el esqueleto de los casos de prueba basándose en gotests; el complemento admite la configuración:
go.testOnSave: Ejecutar automáticamente las pruebas al guardar el códigogo.coverOnSave: Generar automáticamente la cobertura de pruebas al guardargo.testFlags: Personalizar los parámetros de ejecución de go test
Depuración (Debug)
El complemento de Go se apoya en el depurador Delve para la depuración de código Go; capacidades exclusivas:
- Depuración local + depuración de servicios remotos
- Usa la sintaxis de expresiones de Delve en el panel de depuración para ver datos personalizados
- Ejecuta comandos nativos de dlv en la consola de depuración para modificar dinámicamente la configuración de depuración y ver variables
- Configuración
hideSystemGoroutinesOcultar/mostrar goroutines del sistema - Click derecho en el código para abrir la vista de desensamblado (Disassembly View)
- Funciones experimentales: depuración de llamadas a funciones, análisis de archivos core y depuración inversa con Mozilla rr