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!
go list
para mejorar la indexación Al abrir un proyecto, GoLand indexa los archivos y ejecuta el comando go list
, que devuelve información sobre la estructura del proyecto. 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.
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.
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 %.
Ahora puede generar pruebas para funciones con parámetros genéricos.
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.
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
.
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.
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.
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.
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 como listas HTML en la ventana emergente Quick Documentation de GoLand y en la ventana de herramientas Documentation.
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.
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.
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.
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.
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.
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.
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.
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
.
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.
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\.$
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.
HTTP Client ahora es compatible con la API de Crypto. Puede calcular los valores hash md5 o sha1 para las solicitudes HTTP.
Para casos sencillos, el IDE cuenta ahora con una nueva serie de variables aleatorias random.
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.
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.
.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.
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
.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Se ha implementado una iteración preliminar de la esperada compatibilidad con Redis.
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.
Nota: Para conocer todas las mejoras de desarrollo web de la versión 2022.3, consulte la página de novedades de WebStorm.
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.
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 #
.
Hemos empezado a distribuir instaladores para Windows ARM64. Ya puede descargarlos en nuestra web o en Toolbox App.