Novedades de GoLand

GoLand 2023.2 ofrece integración mejorada con módulos Go, refactorizaciones para migrar parámetros de funciones a receptores de métodos y viceversa, y compatibilidad con errors.Is y errors.As.

En esta versión, también encontrará el nuevo complemento AI Assistant, la integración de GitLab y el complemento Kafka.

Además incorpora mejoras para la integración con Docker y el complemento de Kubernetes.

Si prefiere un enfoque de aprendizaje interactivo, le invitamos a seguir el tutorial sobre las novedades de GoLand 2023.2 desde la pantalla de bienvenida.

Módulos Go

Configuración de módulos Go en GoLand

Opción de descargar los módulos automáticamente

Hemos implementado la posibilidad de descargar los módulos Go automáticamente al abrir el proyecto y después de cada cambio en el archivo go.mod. Esta funcionalidad está habilitada de forma predeterminada, pero puede deshabilitarla en cualquier momento en Settings | Go | Go Modules.

Uso del nuevo arreglo rápido para actualizar dependencias en go.mod

Acciones de intención para actualizar dependencias en go.mod

Hemos añadido varias acciones de intención e inspecciones para ayudarle a actualizar las dependencias en los archivos go.mod más rápidamente.

Ahora, cuando abra su archivo go.mod, GoLand resaltará las dependencias obsoletas. Puede pasar el ratón por encima de las versiones resaltadas de un determinado paquete y utilizar un arreglo rápido para actualizarlo. También puede actualizar todas las dependencias a sus últimos parches o versiones principales, y existe la opción de actualizar solo las dependencias directas.

Opción de desactivar el modo proveedores en GoLand

Opción para desactivar el modo proveedores

Ahora puede desactivar el modo proveedores por proyecto, por ejemplo, cuando tenga un monorepo que contenga una carpeta de proveedor utilizada por otro idioma. Puede desactivar el modo proveedores cuando crea un nuevo proyecto o en cualquier otro momento desde Settings | Go | Go Modules.

Refactorizaciones

Un uso de la refactorización Migrate function parameter to method receiver en GoLand

Migración de receptor de método y parámetro de función

GoLand ofrece dos nuevas refactorizaciones: Migrate function parameter to method receiver y Migrate method receiver to function parameter.

La refactorización Migrate function parameter to method receiver puede convertir una función en un método de un tipo. Migrate method receiver to function parameter hace lo contrario: convierte un método de un tipo en una función.

Gestión de errores

GoLand dispone ahora de un arreglo rápido que sugiere convertir las comparaciones directas de errores en usos de errors.Is

Compatibilidad con errors.Is y errors.As

Hemos implementado dos inspecciones que resaltarán los casos en los que se debe utilizar errors.Is o errors.As. También cuenta con arreglos rápidos que le ayudarán a refactorizar el código existente a usos errors.Is o errors.As.

La primera inspección destaca las comparaciones directas de errores. En Go 1.13 y posteriores, los errores pueden envolverse utilizando la función fmt.Errorf con el verbo %w, y la comparación directa de errores utilizando la comprobación de igualdad puede fallar en errores envueltos.

La forma preferida de comprobar un error específico es utilizar la función errors.Is de la biblioteca estándar. GoLand dispone ahora de un arreglo rápido que sugiere convertir las comparaciones directas de errores en usos de errors.Is.

GoLand dispone ahora de un arreglo rápido que sugiere convertir las aserciones de tipo y las conmutaciones de tipo en errores en usos de errors.As

La segunda inspección destaca las aserciones de tipo y los conmutadores de tipo en los errores, como err.(*MyErr) o switch err.(type), ya que también pueden fallar en los errores envueltos.

La forma preferida en Go 1.13 y posteriores es utilizar errors.As. Nuestro nuevo arreglo rápido sugiere convertir las aserciones de tipo y los cambios de tipo en los errores en usos de errors.As.

Go 1.21

Compatibilidad con min, max y clear

GoLand 2023.2 proporciona compatibilidad básica para min, max y clear, nuevas funciones introducidas en Go 1.21.

Mejoras para make

Opciones de finalización para el argumento de función make

Finalización de los argumentos de función make

Hemos añadido la finalización de código con reconocimiento de tipo para las invocaciones a funciones make.

Notificación de GoLand por un uso incorrecto de una función make

Comprueba los argumentos de función make

Ahora GoLand puede detectar errores y argumentos redundantes en las funciones make. También existe un arreglo rápido para eliminar los argumentos redundantes, al que puede acceder mediante Alt+Intro, como de costumbre.

Otras funcionalidades relacionadas con Go

El receptor que aparece como primer parámetro en las sugerencias de finalización cuando se llama a un método directamente sobre un tipo

Sugerencia de finalización de tipo de receptor para expresiones de método

Cuando llame a un método directamente sobre un tipo, deberá proporcionar el tipo de receptor como primer argumento. En estos casos, GoLand muestra ahora el receptor como primer parámetro en las sugerencias de finalización.

Mensaje de error de GoLand para los argumentos de tipo que faltan en la instanciación de un tipo

Genéricos: mensaje de error mejorado para los argumentos que faltan

El mensaje de error por falta de argumentos de tipo en la instanciación de un tipo ahora le indica explícitamente qué es lo que falla.

La vista previa de la acción de intención «Wrap error handling in a closure» en GoLand

Vista previa de la acción de intención Wrap error handling in a closure

Hemos añadido una vista previa para la acción de intención Wrap error handling in a closure Puede deshabilitar la función de vista previa pulsando Ctrl+Q mientras la lista de acciones de intención está abierta, y permanecerá deshabilitada hasta que utilice el mismo acceso directo para volver a habilitarla.

Advertencia de GoLand en caso de una condición redundante en un bucle for

Advertencia de condiciones redundantes en bucles for

GoLand muestra ahora un mensaje de advertencia en caso de condiciones redundantes en los bucles for. También existe un arreglo rápido para eliminar la condición redundante.

AI Assistant

Las sugerencias del complemento AI Assistant sobre cómo mejorar el código

AI Assistant Acceso limitado

Con esta versión, introducimos una importante novedad en GoLand: AI Assistant. Con el actual conjunto inicial de funcionalidades impulsadas por la IA, AI Assistant ofrece un chat de IA integrado y puede escribir automáticamente comentarios de documentación por usted, sugerir nombres, generar mensajes de confirmación y mucho más.

AI Assistant funciona con el servicio JetBrains AI, que por ahora puede conectarle con OpenAI e incluirá otros proveedores de modelos lingüísticos en el futuro. Para acceder a las funciones de IA del asistente, deberá instalar el complemento JetBrains AI e iniciar sesión en el servicio JetBrains AI utilizando su cuenta de JetBrains. La disponibilidad del servicio JetBrains AI puede variar inicialmente. Para obtener más información sobre AI Assistant e instrucciones sobre cómo acceder a él, consulte esta página.

Docker

Una vista previa del contenido de una capa de imagen de Docker en la vista Services

Vista previa de los archivos dentro de las capas de imagen de Docker

Ahora es fácil acceder y previsualizar el contenido de una capa de imagen de Docker en la ventana de herramientas Services. Seleccione la imagen de la lista, seleccione Show layers y haga clic en Analyze image for more information. Esto abre una lista de los archivos almacenados en la capa, desde la que puede abrir fácilmente el archivo seleccionado en el editor pulsando con el botón derecho del ratón en el archivo y haciendo clic en Open File (o Download File para los binarios).

Configurar un contenedor Docker para que se ejecute como una tarea Before Launch

Configurar el contenedor Docker para que se ejecute como una tarea Before Launch para las configuraciones de ejecución

Ahora es posible establecer una configuración de ejecución Docker para que se ejecute antes que otra configuración designándola como tarea Before Launch. El IDE esperará a que el contenedor que se está ejecutando en ese momento esté en buen estado, y entonces lanzará la siguiente configuración de ejecución. Para configurar una cola, cree primero una configuración de ejecución de Docker necesaria y, a continuación, añádala al contenedor a través de Modify options | Add before launch task | Run configuration.

Complemento Kubernetes

Configuración de Kubernetes tal y como se muestra en GoLand

Compatibilidad con varios archivos kubeconfig dentro de un único proyecto

Hemos introducido una nueva funcionalidad que le permite configurar varios archivos kubeconfig dentro de un único proyecto. Esto simplifica la experiencia de gestionar varios clústeres o de trabajar con entornos en diferentes clústeres en el mismo proyecto. Para configurar los archivos, vaya a File | Settings | Build, Execution, Deployment | Kubernetes.

Registros de despliegue de Kubernetes tal y como se muestran en GoLand

Posibilidad de ver los registros de despliegue

Ahora puede ver los registros de los despliegues en clústeres Kubernetes en la ventana de herramientas Services. Haga clic con el botón derecho del ratón en Deployment en el árbol y, a continuación, seleccione Follow Log o Download Log en el menú contextual.

Rendimiento

Nueva herramienta para generar fácilmente índices compartidos

Hemos incorporado una nueva herramienta de línea de comandos para crear y cargar rápidamente índices compartidos. Se ha diseñado para agilizar el trabajo en equipo y no perder más tiempo en la indexación local de grandes proyectos. La nueva herramienta simplifica el proceso de generación de índices compartidos para su equipo, puesto que requiere solo unos clics en lugar de varios scripts y servicios.
Más información

Control de versiones

Selección de líneas para una confirmación

Opción de confirmar líneas específicas de código

Ahora puede confirmar selectivamente partes específicas de trozos de código. Para realizar una confirmación parcial, seleccione las líneas que desee dentro de un fragmento y seleccione Include these lines into commit en el menú contextual. El fragmento se dividirá en líneas individuales con las seleccionadas resaltadas. Puede añadir o excluir líneas de la selección mediante casillas de verificación o el menú contextual.

Integración con GitLab

La funcionalidad del complemento de GitLab en GoLand

GoLand 2023.2 incorpora la integración con GitLab para agilizar su flujo de trabajo de desarrollo. Ahora puede trabajar con la funcionalidad Merge Request directamente desde el IDE: revise la lista de solicitudes, compruebe los cambios, deje comentarios y navegue a las vistas pertinentes.

Complemento Kafka

La funcionalidad del complemento Kafka en GoLand

Complemento Kafka

El nuevo complemento Kafka le permite supervisar sus procesos de flujo de eventos Kafka. Puede conectarse a un clúster de Kafka, producir y consumir mensajes en diferentes formatos, administrar temas y supervisar grupos de consumidores, así como utilizar Confluent Schema Registry y AWS Glue Schema Registry. Encontrará más detalles en esta página de documentación.

Experiencia de usuario

Selección del mapa de teclas VS Code incluido en la configuración de GoLand

Mapa de teclas VS Code integrado

Si está acostumbrado al mapa de teclas de VS Code, ahora puede elegirlo en la sección Customize de la pantalla de bienvenida. También puede cambiar su mapa de teclas en Settings | Keymap.

Ordenación de archivos por hora de modificación

Ordenación de archivos por hora de modificación en la vista Project

GoLand 2023.2 incorpora la tan esperada capacidad de organizar sus archivos en la vista Project en función de su hora de modificación. Esta nueva funcionalidad reordena los archivos de forma automática cada vez que se guardan los cambios en el proyecto. Para activar esta función, abra el menú de los tres puntos verticales en la vista Project y, a continuación, seleccione Tree Appearance | Sort by Modification Time.

La opción de anclar una configuración de ejecución en GoLand

Configuraciones de ejecución ancladas en el widget Run

Para facilitar la gestión de varias configuraciones de ejecución, hemos implementado la opción de anclar las configuraciones preferidas en el widget Run. Para añadir una configuración de ejecución a la sección Pinned, abra el menú de los tres puntos verticales situado junto a su nombre y seleccione Pin. Si tiene varias configuraciones ancladas, puede reorganizarlas fácilmente arrastrándolas y soltándolas dentro de la lista.

Inclusión del botón Update Project en la barra de herramientas principal

Mejora de la personalización de la barra de herramientas principal

Hemos ampliado las opciones de personalización de la barra de herramientas principal de la nueva interfaz de usuario. Ahora puede utilizar un menú desplegable para elegir rápidamente las acciones que desea añadir a la barra de herramientas. Para ello, haga clic con el botón derecho en cualquier widget, seleccione Add to Main Toolbar y explore las opciones disponibles.

Transformación del menú de barras en una barra de herramientas independiente en GoLand en Windows

Menú de barras renovado en la barra de herramientas principal de Windows y Linux

Hemos perfeccionado el comportamiento del menú de barras en la nueva interfaz de usuario que, en Windows y Linux, se encuentra en la barra de herramientas principal. Ahora, al hacer clic en el icono del menú, los elementos aparecen de forma horizontal sobre la barra de herramientas. Ahora también existe la opción de convertir este menú en una barra de herramientas independiente, a la que puede acceder mediante la opción View | Appearance | Main menu as a Separate Toolbar.

Seleccionar la opción Open Directories with Single Click en los ajustes de GoLand

Navegación con un solo clic entre los directorios del proyecto

En la vista Project, hay una nueva opción Open Directories with Single Click que hace que expandir y contraer las carpetas del proyecto sea más rápido e inmediato. La opción está disponible en el menú desplegable al hacer clic en el menú de los tres puntos verticales.

La ventana emergente Search Everywhere devuelve una opción de búsqueda de texto

Búsqueda de texto en Search Everywhere

Search Everywhere (Doble Mayús) se utiliza principalmente para buscar en archivos, métodos, acciones y configuraciones. Con esta actualización, ahora incluye funciones de búsqueda de texto similares a Find in Files. Ahora, los resultados de la búsqueda de texto se muestran cuando hay pocos o ningún otro resultado de búsqueda disponible para una consulta determinada. La funcionalidad está habilitada de forma predeterminada y puede gestionarse en Settings | Advanced Settings.

Sintaxis resaltada en las descripciones de inspección

Resaltado de sintaxis en las descripciones de inspección

En Settings | Editor | Inspections, las muestras de código incluyen ahora resaltado de sintaxis, lo que facilita la comprensión de lo que activa una inspección y si desea tenerla activa o inactiva.

Complementos sugeridos en la sección Plugins

Complementos sugeridos en Settings

Para facilitar la configuración del IDE para sus proyectos específicos y ampliar su funcionalidad con complementos, hemos actualizado la interfaz de usuario de la sección Settings | Plugins. Ahora incluye un conjunto de complementos sugeridos que se define automáticamente en función de las características específicas de su proyecto y aparece en la parte superior de la lista.

Interfaz de usuario

Abrir proyectos con encabezados de distintos colores en GoLand

Encabezados de proyecto de colores en la nueva interfaz de usuario

GoLand 2023.2 presenta encabezados de colores para simplificar la navegación entre varios proyectos abiertos. Ahora puede asignar un color y un icono únicos a cada uno de sus proyectos, lo que facilita distinguirlos en su espacio de trabajo.

Los encabezados presentan ahora colores predefinidos de forma predeterminada, pero puede personalizarlos. Para establecer un nuevo color para su proyecto, haga clic con el botón derecho del ratón en un encabezado y acceda al menú contextual. Seleccione la opción Change Project Color y elija el color que desee. Para deshabilitar esta funcionalidad, anule la selección de la opción Show Project Gradient del menú contextual.

El tema Light with Light Header en GoLand

Tema claro con encabezado claro en la nueva interfaz de usuario

Para la v2023.2, hemos perfeccionado la experiencia del usuario con el tema claro denominado Light introduciendo la alternativa Light with Light Header, que presenta colores claros a juego para los encabezados de las ventanas, las descripciones emergentes y los globos de notificación.

Ventana de herramientas GoLand’s Services con la interfaz de usuario actualizada

Interfaz de usuario actualizada para el widget Run/Debug en la ventana de herramientas Services

Hemos rediseñado la interfaz de usuario para las acciones de ejecución y depuración en la ventana de herramientas Services para que el aspecto de la barra de herramientas sea coherente con el del widget principal Run/Debug.

GoLand sin el encabezado nativo de Linux

Eliminada la barra de título en Linux en la nueva interfaz de usuario

Para comodidad de los usuarios de Linux, en la nueva interfaz de usuario se ha eliminado el encabezado nativo del sistema operativo, lo que da como resultado una interfaz más limpia. De forma predeterminada, ahora verá el encabezado personalizado del IDE, que ofrece una serie de opciones de personalización para adaptar su espacio de trabajo.

Cliente HTTP

Finalización de código en el cliente HTTP para un esquema Swagger

Compatibilidad con esquemas Swagger y OpenAPI

El cliente HTTP es ahora capaz de entender las especificaciones Swagger y OpenAPI y proporcionar las opciones de finalización de código correspondientes para las solicitudes JSON.

Código JavaScript importado en el cliente HTTP

Compatibilidad con importaciones de JavaScript

Ahora puede compartir código JavaScript común para los gestores de solicitudes del cliente HTTP a través de módulos importados.

Vista previa de un archivo PDF en el cliente HTTP

Vistas previas de las respuestas en PDF y HTML

Ahora GoLand puede mostrar vistas previas de archivos PDF y HTML directamente en los resultados de las solicitudes en el cliente HTTP.

Una solicitud gRPC con TLS en el cliente HTTP

Solicitudes gRPC utilizando TLS en el cliente HTTP

Ahora puede enviar solicitudes gRPC a través de Transport Layer Security (TLS) en el cliente HTTP. TLS proporciona cifrado y autenticación, para garantizar la confidencialidad e integridad de la transmisión de sus datos. Tanto esquemas https:// como grpcs:// son compatibles con la sintaxis de la solicitud.

Desarrollo web

Formato mejorado de GoLand para los errores de TypeScript

Formato de errores mejorado

En GoLand 2023.2, los errores y las advertencias mostrarán ahora un formato más legible, lo que facilitará la detección de problemas en su código. Esto es así en todos los errores de TypeScript y algunos de los más populares de JavaScript.

Una inspección que corrige el uso de código CSS anidado en GoLand

Compatibilidad con anidado CSS

GoLand es ahora compatible con la funcionalidad CSS Nesting Module. Hemos implementado compatibilidad sintáctica y una inspección para comprobar que el selector anidado no comienza con un identificador o una notación funcional.

Otros

Una cadena NO que GoLand resalta en un documento YAML

Inspección del «Norway problem» en los archivos YAML

Hemos introducido una nueva inspección para eliminar el llamado «Norway problem» y evitar la malinterpretación involuntaria de valores booleanos en archivos YAML.

Cuando una lista se compone principalmente de cadenas pero contiene un literal de tipo booleano, GoLand resaltará este literal, indicando una posible incoherencia, y sugerirá añadirle comillas. Si la lista está compuesta principalmente por literales de tipo booleano (como true, false, off, on, yes, no), cualquier literal que se desvíe de este patrón se resalta como un posible error. Sin embargo, no se sugiere ningún arreglo rápido específico en este escenario.

El cuadro de diálogo Edit Swagger Codegen Configuration renovado en GoLand

Mejoras en Swagger Codegen

El IDE ofrece ahora una mejor experiencia de usuario al establecer las configuraciones de Swagger Codegen. Hemos reelaborado el cuadro de diálogo Edit Swagger Codegen Configuration para que le resulte más fácil adaptar las configuraciones de ejecución a sus necesidades.

Ejecutar una configuración Swagger Codegen en GoLand

Además, ahora puede acceder a la configuración de ejecución de Swagger Codegen directamente desde el medianil sin tener que especificar ninguna configuración adicional.

Una previsualización de Redoc en GoLand

Previsualizaciones de la IU de Redoc para archivos OpenAPI y Swagger

GoLand admite ahora previsualizaciones de la IU de Redoc para archivos de especificación OpenAPI y Swagger, incluidos archivos YAML y JSON, lo que le permite cambiar entre las IU Redoc y Swagger dentro del IDE. Con la integración de Redocly, puede acceder a la consola Try it directamente desde GoLand y utilizarla para establecer parámetros y enviar solicitudes a su API.

El panel de vista previa del editor junto con los puntos de conexión para un esquema AsyncAPI

Compatibilidad con la edición de archivos AsyncAPI

Ahora puede trabajar más cómodamente con el formato de especificación AsyncAPI en GoLand. El IDE es compatible con la función de validación de esquemas y proporciona finalización de código para referencias, la vista Endpoints y el panel Editor Preview.

API LSP para desarrolladores de complementos

Con esta versión, hemos introducido una API LSP para los desarrolladores de complementos que deseen utilizar un servidor LSP específico para obtener asistencia a la codificación en el IDE. Si ha creado su propio lenguaje de programación o marco de trabajo, puede hacerlo compatible con el IDE creando un servidor LSP y un complemento.