gopls introduce refactorización interactiva mediante LSP

Fuentes: gopls introduces interactive refactoring via LSP

El equipo de Go ha lanzado la refactorización interactiva en gopls, una herramienta que permite a los desarrolladores realizar transformaciones de código complejas mediante diálogos dinámicos en sus editores. Esta funcionalidad, disponible en la versión 0.24.0 de gopls y en la extensión oficial de VS Code, se basa en una nueva propuesta para el Language Server Protocol (LSP) que permite a los servidores de lenguaje solicitar información adicional del usuario antes de aplicar cambios, superando la limitación de los parámetros fijos tradicionales.

El objetivo es estandarizar la interacción entre el editor y el servidor de lenguaje, garantizando que las mejoras en la refactorización beneficien a todos los clientes, como Neovim o Emacs, sin depender de lógicas personalizadas específicas de cada editor. Esta capacidad resuelve problemas comunes, como la inyección automática de etiquetas de estructura con convenciones de nomenclatura incorrectas o la implementación manual de interfaces, que ahora se gestionan con precisión y contexto.

Entre las nuevas capacidades destacan la adición y eliminación de etiquetas de estructura con opciones de formato personalizables, la implementación de interfaces mediante búsqueda dinámica de símbolos y el movimiento de declaraciones entre archivos y paquetes. Estas funciones buscan reducir errores de referencia y limpiar dependencias de forma automática, mejorando la productividad y la calidad del código en el ecosistema Go.