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.
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.
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.
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.
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.
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
.
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
.
min
, max
y clear
min
, max
y clear
, nuevas funciones introducidas en Go 1.21. make
make
Hemos añadido la finalización de código con reconocimiento de tipo para las invocaciones a funciones make
.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Ahora puede compartir código JavaScript común para los gestores de solicitudes del cliente HTTP a través de módulos importados.
Ahora GoLand puede mostrar vistas previas de archivos PDF y HTML directamente en los resultados de las solicitudes 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.
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.
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.
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 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.
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.
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.
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.
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.