Novedades de GoLand

GoLand 2022.3 ofrece mejoras de rendimiento, así como nuevas funcionalidades para genéricos y espacios de trabajo Go.

Hemos integrado Go Playground, añadido la compatibilidad con las mejoras de los comentarios de los documentos de Go, introducido nuevas funcionalidades para HTTP Client y Docker, y puesto a disposición de los usuarios la nueva interfaz.

Como es habitual, encontrará nuevas funcionalidades para el desarrollo web y las bases de datos, como la compatibilidad con Redis.

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

Por último, aunque no menos importante, GoLand cumple hoy 5 años, y le invitamos a celebrarlo con nosotros. Escriba «Happy B-day, GoLand!» en GoLand 2022.3 o GoLand 2022.2.5 ¡y ya verá lo que pasa!

Mejoras de rendimiento

La ventana Background Tasks muestra la indexación y la ejecución de go list

Cambios en go list para mejorar la indexación

When you open a project, GoLand indexes the files and runs the go list command, which reports information about the project structure. La indexación se pone en pausa mientras se ejecuta go list, y no podrá acceder a las características de información del código hasta que la indexación haya finalizado.

Anteriormente, GoLand ejecutaba go list dos veces en algunos casos. Hemos modificado nuestra API y hemos reducido el número de lanzamientos de go list. Esperamos que este cambio mejore significativamente el rendimiento de los proyectos grandes con muchos módulos.

Restauración de la estructura del proyecto desde la caché al abrirlo

Ahora, al abrir un proyecto, la información indicada en go list se guarda en el disco en la memoria caché. Cuando se vuelve a abrir ese proyecto, los datos sobre la estructura del proyecto se cargan desde la memoria y se tienen en cuenta cuando se inicia la indexación.

Gracias a esto, la indexación continúa sin pausas y termina más rápido, y las funciones de información sobre el código están disponibles mucho antes tras abrir el proyecto.

Inicio del IDE y apertura de proyectos más rápido

Hemos efectuado otra serie de mejoras de rendimiento en GoLand diseñadas para disminuir el tiempo que se tarda en iniciar aplicaciones y abrir proyectos en los IDE de JetBrains.

Como resultado, el rendimiento general de arranque —incluida la restauración del editor— ha mejorado aproximadamente en un 30 %.

Genéricos

Generación de una prueba para una función genérica

Generación de pruebas para funciones genéricas

Ahora puede generar pruebas para funciones con parámetros genéricos.

Arreglo rápido que elimina los parámetros de tipo con listas de parámetros vacías

Arreglo rápido para poner en mayúsculas los parámetros de tipo

Ahora contamos con una inspección que detecta los parámetros de tipo en minúsculas, así como con un arreglo rápido para cambiarlos a mayúsculas.

Espacios de trabajo de Go

Uso de la acción Go Workspace File

La acción Go Workspace File

En el menú contextual New, ahora encontrará la acción Go Workspace File. Cuando la seleccione, aparecerá un archivo go.work en su carpeta raíz. Los módulos Go existentes se añadirán de forma automática al archivo go.work.

Generación de go.work mediante directivas replace

Generación de go.work utilizando directivas replace

Ahora puede generar go.work desde go.mod si tiene directivas replace allí. Sitúe el signo de intercalación sobre una directiva replace, pulse Alt+Intro para ver todas las acciones de intención disponibles, y seleccione el arreglo rápido Add … module to workspace.

Comentarios en documentos de Go

Go 1.19 ha añadido la compatibilidad con enlaces, listas y nuevos encabezados en los comentarios de los documentos. GoLand 2022.3 también es compatible con estas nuevas funcionalidades.

Los enlaces de texto y de documentos se muestran en la ventana emergente Quick Documentation y en la ventana de herramientas Documentation

Compatibilidad con enlaces

Hemos añadido referencias a los enlaces de los documentos en GoLand. Al hacer clic en ellos se accede al elemento referenciado, mientras que al hacer clic en un enlace de texto se accede a su definición en texto.

Tanto los enlaces de texto como los de documentos se muestran como enlaces en la ventana emergente Quick Documentation y en la ventana de herramientas Documentation.

Los nuevos encabezados se muestran en la ventana de herramientas Documentation

Compatibilidad con nuevos encabezados

A partir de Go 1.19, un encabezado es una línea que comienza con un signo de número (#) seguido de un espacio y el texto del encabezado.

Los nuevos encabezados se muestran como encabezados HTML en la ventana emergente Quick Documentation de GoLand y en la ventana de herramientas Documentation.

Las listas se muestran en la ventana de herramientas Documentation

Compatibilidad con listas

Las listas se muestran como listas HTML en la ventana emergente Quick Documentation de GoLand y en la ventana de herramientas Documentation.

Go Playground integrado

Uso de Go Playground desde GoLand

Hemos integrado la funcionalidad de Go Playground en GoLand.

Puede seleccionar un fragmento de código, elegir la opción Open In y, a continuación, hacer clic en Playground. Esto abrirá un archivo scratch con una barra de herramientas que contiene las mismas opciones de las que dispone cuando usa Go Playground.

Puede dar formato a su código y compartirlo, cambiar la versión de Go, ejecutar su código usando el servidor de Go playground, o ejecutarlo localmente.

Nuevos arreglos rápidos

Uso de un arreglo rápido para convertir un tipo en un puntero

Arreglo rápido para el tipo recursivo no válido

Si su tipo se contiene a sí mismo, obtendrá un error «Invalid recursive type». To avoid this, you should include a pointer to a type, not a type itself. Ahora hemos integrado un arreglo rápido para eso.

Editor

El nombre del autor del código se muestra en el editor

Code Vision

Hemos empezado a implementar la funcionalidad Code Vision. Por ahora, los autores del código se muestran si la integración del control de versiones está activada. Si hace clic en el nombre de un autor de código, se abre la barra lateral Annotate with Git blame, que le permite ver quién introdujo varios cambios.

Usos mostrados junto a las funciones y tipos

También hemos incorporado los usos mostrados cerca de todas las funciones y tipos, que muestran cuántas veces se hace referencia a la función o al tipo en el proyecto actual.

Los consejos insertados para los bloques de definición de constantes se muestran en el editor

Consejos insertados para definiciones de constantes

GoLand ahora muestra sugerencias de incrustación para los bloques de definición de constantes. Esto es especialmente útil en los bloques de constantes derivadas de iota, donde los consejos muestran los valores de iota asociados a cada posición.

Los campos protobuf autogenerados se ignoran después de invocar la acción de intención Fill all fields

Campos de protobuf autogenerados ignorados para Fill all fields

El IDE ahora ignora los campos de búfer de protocolo autogenerados que comienzan con XXX_ cuando se invoca la acción de intención Fill all fields. Estos campos se muestran solo después de invocar la finalización por segunda vez.

Otras funcionalidades relacionadas con Go

Las variables de entorno de Go se muestran en la configuración

Variables de entorno de Go mostradas en la configuración

GoLand ahora recoge automáticamente las variables del sistema relacionadas con los módulos Go y las muestra en la ventana de diálogo Environment variables. Para abrir esta ventana, vaya a Settings | Go | Go Modules y haga clic en el icono Edit environment variables.

Los nombres de los paquetes se muestran en Quick documentation

Los nombres de los paquetes siempre aparecen en Quick documentation

El IDE ahora siempre muestra los nombres de los paquetes en la ventana emergente Quick documentation para las declaraciones de nivel superior. Anteriormente, los encabezados de los paquetes solo se mostraban cuando se encontraban archivos doc.go o .go.

Aumento del límite de tamaño de los archivos

Hemos aumentado el límite de tamaño de los archivos de 2,5 MB a 10 MB. Las funcionalidades de información sobre el código, como la navegación y el resaltado, no funcionan para los archivos que superen el límite de tamaño.

Aunque el límite de 2,5 MB era suficiente para la mayoría de los archivos, hay proyectos con archivos más grandes, por ejemplo, el SDK de AWS o GCP.

La inspección Receiver names are different ignora el código generado

Dado que la inspección Receiver names are different no es relevante para el código generado, la hemos desactivado para los archivos que contienen un comentario que coincide con la siguiente expresión regular: ^// Code generated .* DO NOT EDIT\.$

Cliente HTTP

Escribir un bloque de script en el cliente HTTP

Scripts presolicitud y nuevas API para los gestores de JavaScript

HTTP Client ahora admite la ejecución de bloques de script antes de las solicitudes. Puede generar datos antes de ejecutar una solicitud y ponerlos en la solicitud final utilizando variables. Dispone de un arreglo rápido que creará el código reutilizable para inicializar las variables.

Cálculo de los valores hash md5 o sha1 para las solicitudes HTTP

HTTP Client ahora es compatible con la API de Crypto. Puede calcular los valores hash md5 o sha1 para las solicitudes HTTP.

Uso de valores aleatorios en solicitudes HTTP

Para casos sencillos, el IDE cuenta ahora con una nueva serie de variables aleatorias random.

Docker

Los ajustes de Docker en GoLand para Windows

Docker ejecutable desde WSL sin Docker Desktop

GoLand ahora admite conexiones a Docker que se ejecutan en el Windows Subsystem for Linux (WSL). Puede configurar una de estas conexiones en Settings | Build, Execution, Deployment | Docker.

Uso de un arreglo rápido para extraer una imagen

Nueva acción de intención: Pull Docker image

Ahora ya dispone de una manera fácil de extraer la imagen que necesite sin ejecutarla desde un Dockerfile o docker-compose.yml. Para ello, llame a las acciones contextuales (Alt+Intro) sobre el nombre de la imagen resaltada y, a continuación, seleccione Pull Docker image.

Uso de la finalización de código en un archivo dockerignore

Compatibilidad con el tipo de archivo .dockerignore

Hemos introducido la compatibilidad completa con los archivos .dockerignore, incluidos el resaltado y la finalización de código. Estos archivos se tienen ahora en cuenta cuando se compila una imagen desde el IDE.

La sintaxis de Heredoc se destaca en GoLand

Compatibilidad con el formato heredoc en archivos Dockerfile

Aquí los documentos permiten redirigir las líneas subsiguientes de Dockerfile a la entrada de los comandos RUN o COPY. GoLand ahora admite esta sintaxis, por lo que puede utilizarla para generar archivos de configuración o scripts multilínea directamente en sus archivos Dockerfile.

Configuración de conexiones adicionales de Docker mediante Docker Contexts

Conexiones Docker desde Docker Contexts

Ahora puede configurar conexiones Docker adicionales utilizando los Docker Contexts si ya tiene estos ajustes en su configuración Docker. Puede hacerlo llamando al menú contextual Add Service en la vista Services y seleccionando Docker Connections From Docker Contexts.

Desarrollo remoto (Beta)

Sección Remote Development en la pantalla de bienvenida de GoLand

El backend de su IDE ya se puede lanzar directamente en WSL 2, y puede conectarse a él de la misma manera que se conectaría a cualquier máquina remota al utilizar el desarrollo remoto en GoLand.

Interfaz de usuario

Sección New UI Preview en la configuración

Nueva interfaz de usuario disponible

Como ya sabrá, este mes de mayo anunciamos un programa de vista previa cerrada para la nueva interfaz de usuario en los IDE de JetBrains.

Le invitamos a que cambie a la nueva interfaz de usuario en Settings | Appearance & Behavior | New UI Preview. Pruébela y comparta con nosotros su opinión sobre este cambio.

Uso de la función de vista previa para las acciones de intención

Vista previa de la acción de intención activada de forma predeterminada

La funcionalidad de vista previa de las acciones de intención está ahora activada de forma predeterminada, por lo que puede ver al instante cómo se modificará su código una vez que aplique las sugerencias del IDE.

Puede activar o desactivar la funcionalidad de vista previa pulsando Ctrl+Q mientras la lista de acciones de intención está abierta.

Arrastrar una ventana de herramientas fuera de la ventana principal y fijarla en una pestaña flotante del editor

Acoplar las ventanas de herramientas a las pestañas flotantes del editor

Para facilitar la organización del espacio de trabajo y la interacción con GoLand en varios monitores, hemos implementado la opción de arrastrar las ventanas de herramientas fuera de la ventana principal y fijarlas a las pestañas flotantes del editor.

La ventana «Tip of the Day»

Mejora de Tips of the day

Hemos mejorado la función Tips of the Day, una herramienta de aprendizaje que le ayuda a explorar GoLand.

Cada consejo tiene ahora un encabezado. También hemos perfeccionado el algoritmo que determina qué consejos aparecen, para que vea los más relevantes para su experiencia con el IDE y el proyecto en el que está trabajando.

Marcar un archivo desde una pestaña del editor

Marcadores actualizados

De nuevo es posible marcar archivos desde las pestañas del editor. Basta con hacer clic con el botón derecho del ratón en una pestaña para invocar el menú contextual y seleccionar Bookmarks.

Añadir a marcadores todos los archivos de las pestañas actualmente abiertas

Puede añadir todos los archivos de todas las pestañas abiertas en ese momento a Bookmarks. Para ello, invoque el mismo menú contextual y seleccione Bookmark Open Tabs, o llame a esta acción mediante el icono de los tres puntos situado en la parte derecha del panel de pestañas del editor.

Sección Settings Sync en los ajustes de GoLand

Nueva solución Settings Sync

Hemos introducido una solución renovada para sincronizar sus ajustes de usuario personalizados. Durante mucho tiempo, existían dos complementos en paralelo que presentaban funcionalidades entrecruzadas: IDE Settings Sync y Settings Repository. Para evitar la confusión de tener dos complementos similares, hemos fusionado sus conjuntos de características en una sola solución: el nuevo complemento Settings Sync.

You can find details about the new unified solution here.

Bases de datos

Nota: Para conocer todas las actualizaciones de las bases de datos en la versión 2022.3, eche un vistazo a la página de novedades de DataGrip.

Selección de una conexión a Redis en la ventana de herramientas Database

Compatibilidad con Redis

Se ha implementado una iteración preliminar de la esperada compatibilidad con Redis.

Filtrar objetos mientras se utiliza la búsqueda rápida en la ventana de herramientas Database

Filtro rápido

Ahora, al utilizar la búsqueda rápida, también tiene la posibilidad de filtrar los objetos. Todos los objetos que no coincidan se ocultarán.

Desarrollo web

Nota: Para conocer todas las mejoras de desarrollo web de la versión 2022.3, consulte la página de novedades de WebStorm.

El nombre del autor del código y la métrica de uso se muestran en el editor

Code Vision para JavaScript y TypeScript

Esta versión introduce la nueva funcionalidad Code Vision para el desarrollo web. Recoge varias métricas de tipos y miembros de tipos en su código JavaScript y TypeScript, y muestra esta información cerca de sus declaraciones.

Otras actualizaciones

Uso de un arreglo rápido para suprimir una inspección en un archivo YAML

Arreglo rápido para suprimir las inspecciones en YAML

Hay un nuevo arreglo rápido para suprimir las inspecciones con un comentario en los archivos YAML, incluidos los archivos Kubernetes, las especificaciones OpenAPI y los archivos docker-compose.yml.

También hemos introducido una opción para plegar los comentarios multilínea que forman un bloque de 3 o más líneas y que comienzan con #.

Instaladores para Windows ARM64

Hemos empezado a distribuir instaladores para Windows ARM64. Ya puede descargarlos en nuestra web o en Toolbox App.