Novedades de GoLand 2024.1

GoLand 2024.1 incorpora varias novedades importantes:

  • Se ha implementado la finalización de código de línea completa: la finalización mediante IA local basada en LLM está ahora disponible de forma gratuita para todos los usuarios de GoLand.
  • Encontrará mejoras significativas en el rendimiento de la indexación y el resaltado.
  • Hemos perfeccionado AI Assistant y hemos implementado mejoras en él, como opciones adicionales para la finalización de código y la generación de documentación.
  • La compatibilidad con los contenedores dev ha salido del acceso anticipado y aporta algunas novedades interesantes en esta iteración.
  • Se ha añadido la compatibilidad con las actualizaciones de Go 1.22.

La nueva versión también incluye varias mejoras de la experiencia de usuario y de herramientas internas. ¡Veamos!

Finalización de código de línea completa

GoLand 2024.1 introduce la finalización de código de línea completa, una nueva funcionalidad que autocompleta líneas enteras de código utilizando modelos de aprendizaje profundo ejecutados de forma local y que tienen en cuenta el contexto. Ayuda a mejorar la velocidad de codificación y la eficiencia mientras trabaja de forma local en su dispositivo sin enviar ningún dato a servidores externos. La funcionalidad está incluida para todos los usuarios de GoLand 2024.1. Es la forma perfecta de comenzar a tomar contacto con la IA. ¿Hemos despertado su curiosidad? Obtenga más información en nuestro artículo del blog al respecto.

Puede controlar esta funcionalidad y especificar los lenguajes para los que desea obtener sugerencias de línea completa en Settings | Editor | General | Code Completion | Machine Learning-Assisted Completion.

Mejoras de rendimiento

Mejora del rendimiento de indexación

La indexación es ahora considerablemente más rápida en GoLand. Observamos aumentos de velocidad de alrededor del 30 % de media. Los resultados en el mundo real variarán naturalmente para cada usuario en función de las particularidades de sus proyectos y de su hardware. No dude en compartir con nosotros los resultados de sus mediciones. He aquí una ilustración de la indexación utilizando el marco de trabajo Gin.

Más resaltado al indexar

Con esta mejora, ¡el resaltado funciona ahora con las referencias desde que inicia el IDE! Como hay que ver para creer, le invitamos a que eche un vistazo a estos dos ejemplos.

AI Assistant

JetBrains sigue trabajando en AI Assistant para ofrecer más funcionalidades y acciones que le aporten valor. En esta versión, GoLand incorpora dos mejoras a nuestras funcionalidades de IA existentes. ¡Pruébelas!

Finalización basada en la nube para structs e interfaces

En la versión 2023.3, se introdujo la finalización inline para los bloques de funciones y métodos. En la versión 2024.1, también se habilitará para las declaraciones de estructuras e interfaces. Cuando la finalización de código ofrece una sugerencia dentro de una declaración de tipo, tiene en cuenta el contexto de utilización junto con la estructura primaria y las referencias. De este modo se obtienen sugerencias basadas en IA más relevantes.

Generación de documentación para campos de estructuras y métodos de interfaz

GoLand genera ahora documentación para tipos completos, métodos de interfaz y campos struct. Para generar documentación, coloque el signo de intercalación en cualquier lugar de la definición de un campo y seleccione la acción de IA Write Documentation. También puede comenzar a escribir // antes de la definición del campo para activar la sugerencia.

Ahora los usuarios pueden personalizar los avisos para determinadas acciones de la IA, como la generación de un mensaje de confirmación. Esto permite obtener resultados más personalizados y adaptados.

A partir de la versión 2024.1, puede exportar un archivo que contenga fragmentos de código generados por el chat de IA. También puede adjuntar archivos para proporcionar un contexto adicional cuando formule preguntas en el chat.

Desarrollo remoto

En la versión 2024.1, el IDE ofrece al desarrollador una experiencia mejorada para escenarios remotos: el resaltado, la renderización y la fluidez general del desarrollo remoto ahora ofrecen una sensación similar a la de la programación local. Puede comprobar cómo el resaltado y la finalización son casi tan rápidos en la nube como en las bases de código locales.

Además, ahora los usuarios pueden gestionar proyectos remotos directamente desde el cliente del IDE, así como crear nuevos proyectos remotos o abrir los existentes.

Contenedores dev

Ahora, los usuarios pueden ejecutar un contenedor de desarrollo desde la pantalla de bienvenida (desde su disco local o VCS). Antes era necesario abrir primero el proyecto.

Los contenedores de desarrollo incorporan ahora plantillas de archivos para todos los lenguajes de programación más populares.

Se han añadido ajustes que permiten a los usuarios configurar su JetBrains IDE de backend (por ejemplo GoLand o CLion) directamente en el archivo devcontainer.json.

En la versión 2024.1 de GoLand, los archivos devcontainer.json serán reconocidos sin importar en qué lugar del proyecto estén almacenados. Anteriormente, era obligatorio almacenarlos en la carpeta ~/.devcontainer.

Compatibilidad con las actualizaciones de Go 1.22

Aunque el lenguaje Go evoluciona constantemente, intentamos proporcionar compatibilidad con todas las nuevas funcionalidades del lenguaje lo antes posible.

Compatibilidad con range sobre enteros y funciones

Go 1.22 permite iterar fácilmente sobre enteros y funciones de una forma más concisa que utilizando un bucle for clásico.

Compatibilidad con vendoring para espacios de trabajo Go

El vendoring le proporciona un mayor control sobre las dependencias utilizadas en su proyecto al permitirle almacenarlas en el repositorio del proyecto. En Go 1.22, los comandos de los espacios de trabajo pueden utilizar un directorio vendor que contenga las dependencias del espacio de trabajo. GoLand ya admite esta mejora.

Actualización del análisis del flujo de datos (DFA)

El análisis del flujo de datos se introdujo en GoLand 2023.3 y en la versión 2024.1 la función está ahora lo suficientemente perfeccionada como para activarse de forma predeterminada. El análisis del flujo de datos de GoLand actualmente admite tres inspecciones: Constant conditions detection, Potential nil dereference y Error may be not nil. Lea más sobre estos avances en nuestro artículo del blog.

Compatibilidad mejorada con Terraform

Hemos introducido mejoras considerables en nuestra compatibilidad con el desarrollo de infraestructura como código con Terraform, dirigido a desarrolladores, ingenieros de fiabilidad del sitio (SRE) y especialistas en DevOps. Esta actualización incluye una serie de nuevas funcionalidades y mejoras para simplificar el proceso de creación, gestión y ampliación de su infraestructura.

Sugerencia para ejecutar terraform init

Para inicializar el directorio de trabajo con los archivos de código de Terraform, primero debemos ejecutar terraform init. A menudo se omite este paso, lo que provoca mensajes de error del propio Terraform, así como una finalización automática del código insuficiente y la visualización solo parcial de la documentación. Para evitarlo, el IDE sugiere ahora explícitamente ejecutar terraform init.

Compatibilidad con proveedores terceros desde Terraform Registry

El complemento de Terraform ahora ofrece más funciones de finalización de código para más de 3900 proveedores terceros de Terraform, lo que facilita a los desarrolladores la escritura eficiente de código. Además, encontrará la documentación más reciente de cada uno de estos proveedores, junto con sus versiones específicas, directamente dentro del IDE.

Esto le permite explorar nuevos proveedores de Terraform y aprender sus capacidades más rápidamente; todo sin salir del IDE.

Compatibilidad con el lenguaje de plantillas de Terraform (tftpl)

Estamos encantados de desvelar la compatibilidad con el lenguaje de plantillas de Terraform (tftpl), que mejora su flujo de trabajo con archivos de configuración, scripts o cualquier código de programa, como configuraciones de servidores web, redes o servicios. ¡Crear plantillas es ahora más fácil! Ya puede rellenar dinámicamente los valores dentro de sus plantillas en tiempo de ejecución, agilizando el proceso de renderización de plantillas para usos específicos.

El lenguaje de plantillas de Terraform no solo admite plantillas variables y elementos de flujo de control, sino que también abarca listas y mapas, junto con la capacidad de generar formatos JSON y YAML.

Experiencia de usuario y otras funcionalidades

Nuevo terminal

GoLand 2024.1 presenta un terminal revisado que incorpora mejoras tanto visuales como funcionales para que las tareas basadas en el terminal resulten más sencillas y cómodas. Ofrece un cómodo historial, una navegación sencilla entre bloques y consejos para cada comando disponible.

La nueva ventana de herramientas Terminal se integra a la perfección con la nueva interfaz de usuario, alineándola con el aspecto renovado del IDE y proporcionando también una función de finalización de comandos, que admite comandos, rutas, argumentos y opciones. Para obtener más detalles, consulte nuestro artículo del blog al respecto.

Opción para reducir todo el IDE

GoLand 2024.1 incluye la opción de alejar el zoom en todo el IDE. Inicialmente, el rango de escalado solo incluía la opción de ampliar entre el 100 % y el 200 %. En la versión actual, también puede reducir el IDE al 90 %, 80 % o 70 %.

Líneas adhesivas en el editor

Para simplificar el trabajo con archivos grandes y la exploración de nuevas bases de código, hemos introducido líneas adhesivas en el editor. Esta funcionalidad mantiene los elementos estructurales clave, como los comienzos de clases o métodos, fijados en la parte superior del editor cuando se desplaza. De este modo, los ámbitos permanecen siempre a la vista y puede navegar rápidamente por el código haciendo clic en una línea anclada.

Actualizaciones de VCS

Revisión del código en el editor

Ahora, GoLand incorpora un flujo de trabajo de revisión de código más ágil y racionalizado tanto para usuarios de GitHub como de GitLab. Los autores y los revisores ahora pueden interactuar sin problemas directamente dentro del editor, gracias a la implementación del nuevo modo de revisión. Más información.

Comprobación de estados integración continua en la ventana de herramientas Git

Hemos introducido una nueva columna en la pestaña Log de la ventana de herramientas Git, que le permitirá revisar fácilmente los resultados de las comprobaciones de confirmaciones de GitHub realizadas por su sistema de integración continua. Solo tiene que hacer clic en la pestaña para ver todos los detalles de las comprobaciones de integración continua.

Indicadores visuales de actualizaciones pendientes de GitHub

Hemos introducido indicadores visuales para alertar sobre las actualizaciones pendientes dentro de su flujo de trabajo de revisión de código. Cuando haya cambios que requieran su atención, aparecerá una insignia con un punto azul en el icono de la ventana de herramientas. Además, las solicitudes de incorporación de cambios no vistas se marcarán con un punto azul, lo que le garantizará que no se pierda las actualizaciones en su proceso de revisión del código.

Mejoras en la web y la base de datos

GoLand hereda las actualizaciones de los IDE WebStorm y DataGrip. ¿Le interesan las actualizaciones y funcionalidades para el desarrollo web o el trabajo con bases de datos? ¡No se las pierda!