Novedades de GoLand

GoLand 2022.2 ofrece nuevas funcionalidades para genéricos y go.work. También hemos añadido compatibilidad con las pruebas fuzz.

Ahora, las declaraciones SQL se detectan de forma automática y se obtiene una asistencia a la codificación completa para ellas.

GoLand ahora admite conexiones WebSocket y puede enviar consultas GraphQL a través de los protocolos HTTP y WebSocket.

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

Genéricos

Acción de intención que sustituye la interfaz vacía por <i>any</i>

Acción de intención para convertir interfaces vacías en any

GoLand cuenta ahora con una inspección que informa del uso de una interfaz vacía como tipo o restricción de tipo.

También hay una acción de intención que sustituye interface{} por any. Desde la ventana emergente de la acción de intención, puede reemplazar todas las interfaces vacías de un archivo.

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

Arreglo rápido para eliminar parámetros de tipo con listas de parámetros vacías

Los parámetros de tipo con listas de parámetros vacías se notifican ahora como errores. Hemos añadido un arreglo rápido para eliminarlos.

Inspección de los parámetros de tipo no utilizados

Inspección de los parámetros de tipo no utilizados

Hemos añadido una nueva inspección que informa de los parámetros de tipo no utilizados. Aparecen en gris, y verá una advertencia cuando pase el ratón por encima.

Inspección para la unión de interfaces con métodos

Inspección para la unión de interfaces con métodos

El IDE ahora informa de un error si se intenta utilizar interfaces con métodos en uniones.

Inspección de uso de un parámetro de tipo como restricción

Inspección de uso de un parámetro de tipo como restricción

Si intenta utilizar un parámetro de tipo como restricción, GoLand mostrará un error.

GoLand inserta el identificador de un parámetro de tipo mientras se crea un método.

Finalización de los parámetros de tipo al escribir el receptor de un método

GoLand inserta automáticamente el identificador de un parámetro de tipo cuando se añade un receptor al crear un método.

Nuevo grupo Find Usages

Nuevo grupo Find Usages para los parámetros de tipo

Hemos introducido un nuevo grupo Find Usages para los genéricos: Type parameter declaration.

Pruebas fuzz

Ejecución de pruebas fuzz en GoLand

Ejecución de pruebas fuzz

Ahora puede ejecutar pruebas fuzz desde GoLand. Si hace clic en el icono del triángulo verde en el medianil junto a su prueba fuzz, verá diferentes opciones para ejecutar la prueba. Si la prueba falla, la entrada del corpus seed que falla se escribirá en un archivo y se situará en el directorio de su paquete en la carpeta testdata.

La ruta de este archivo también aparecerá en la consola como un enlace clicable. Si hace clic en el enlace, el archivo se abrirá en el IDE, y verá un icono de triángulo verde en la parte superior del archivo. Al hacer clic en este icono, se ejecutará go test con la entrada del corpus seed que falla.

Desde GoLand también se pueden ejecutar pruebas fuzz al igual que las pruebas de unidades normales.

Arreglo rápido para cambiar el SDK de Go a una versión que admita fuzzing

Arreglo rápido para cambiar el SDK de Go

En GoLand, ahora ya no verá un botón de ejecución en el medianil si ha configurado un SDK de Go que no admite fuzzing. Hemos añadido un arreglo rápido para cambiar el SDK de Go si el actual SDK de Go no admite fuzzing.

Espacios de trabajo de Go

Un arreglo rápido que agrupa varias directivas de uso en una sola directiva

Arreglo rápido para agrupar varias directivas use

Hemos añadido un arreglo rápido que agrupa varias directivas use en un archivo go.work en una sola directiva.

Go 1.19

Añadir un argumento de cadena de formato para Appendf

Compatibilidad con fmt.Appendf

Hemos añadido compatibilidad con fmt.Appendf, y ahora GoLand identifica los verbos de formato dentro de las cadenas. Como resultado, la función Appendf se beneficia de todas las características de las funciones de formato, como la acción de intención Add a format string argument.

Compatibilidad con la restricción de compilación de unix

GoLand ahora admite la nueva etiqueta de compilación unix, que reconoce cualquier sistema Unix o similar a Unix.

Adición de loong64 a la lista de Arch

Go 1.19 incorpora una nueva arquitectura: loong64. La hemos añadido a nuestra lista Arch en Settings | Go | Build Tags & Vendoring.

Documentación rápida

Hemos mejorado la documentación rápida:

  • Para cada una de las 25 palabras clave de Go, GoLand muestra ahora una descripción emergente significativa sobre la palabra clave que describe la semántica de esta.
  • Ahora mostramos la información de la dirección de canal. Estos datos se muestran en las descripciones emergentes en tres lugares: cuando se pasa el ratón por encima de la palabra clave chan, en las operaciones de envío y recepción de canal y en todas las referencias a los tipos de canal.
  • La documentación rápida de iota contiene ahora información adicional sobre su uso. Si una constante forma parte de un grupo iota, el valor se muestra ahora en el cuadro de finalización, incluso si la constante se define implícitamente.
  • También hay una nueva descripción emergente que explica cómo funcionan los cambios de tipo.
 
  • Si invoca la documentación rápida sobre un parámetro de tipo, GoLand le mostrará una descripción emergente con una breve explicación de cómo funcionan los genéricos y un enlace a un tutorial del equipo de Go.
  • La descripción emergente de las aserciones de tipo contiene ahora información adicional sobre ellas y ofrece ejemplos.
  • GoLand muestra información adicional cuando se inicializan los mapas, matrices, segmentos y structs si se pasa el ratón por encima del área dentro de las llaves.
  • Si pasa el ratón por encima de un identificador en blanco, GoLand muestra una descripción emergente con información sobre qué es el identificador en blanco y cómo funciona.

Más mejoras relacionadas con Go

Mejora de rendimiento

GoLand ya no escanea el subdirectorio cache en ~/go/pkg/mod ya que no contiene información necesaria para que el IDE funcione correctamente. Esta carpeta puede ser bastante grande, y creemos que excluirla del análisis mejorará el rendimiento.

Compatibilidad con la directiva go:linkname

Hemos añadido compatibilidad con la directiva del compilador go:linkname:

//go:linkname localname [importpath.name]

Indica al compilador que utilice importpath.name como nombre de símbolo del archivo objeto para la variable o función declarada como localname en el código fuente.

Uso irregular de la inspección de iota

Uso irregular de la inspección de iota

Una nueva inspección en GoLand le advertirá si iota se utiliza de forma irregular.

Advertencia sobre el intento de asignar un valor a una constante llamada iota

También hemos habilitado la inspección Reserved word used as name para iota y otras constantes integradas. La inspección se activará si intenta asignar un valor a una constante llamada iota, true o false.

Advertencia sobre un tipo que tiene métodos tanto en los receptores de valores como de punteros

Inspección de métodos en receptores de valores y punteros

La documentación de Go recomienda que todos los métodos de un tipo determinado tengan receptores de valores o de punteros.

GoLand incorpora una nueva inspección que le advertirá si su tipo tiene métodos tanto en los receptores de valores como de punteros.

Detección automática de SQL

GoLand detecta las declaraciones SQL.

Ahora se detectan automáticamente las declaraciones SQL y se inyecta el lenguaje en cada literal de cadena que coincida con un determinado patrón. Cuando se inyecta un lenguaje en un literal de cadena, se obtiene una asistencia a la codificación integral al editar ese literal.

Ajustes para la edición de patrones

Podrá buscar los patrones, editarlos y añadir los suyos propios en Settings | Editor | Language Injections.

Run Anything

Acción Run Anything

GoLand ahora admite la acción Run Anything que permite lanzar rápidamente configuraciones de ejecución/depuración, aplicaciones, scripts, comandos y tareas, así como abrir proyectos recientes. Para utilizarla, basta con pulsar dos veces Ctrl y empezar a escribir en la barra de búsqueda.

Cliente HTTP

Envío de un mensaje a través de una conexión WebSocket

Compatibilidad con puntos de conexión de WebSocket

GoLand ahora admite conexiones WebSocket. Puede crear solicitudes, así como enviar y recibir mensajes.

Envío de una consulta GraphQL

Compatibilidad con los puntos de conexión de GraphQL

GoLand ahora puede enviar consultas GraphQL a través de los protocolos HTTP y WebSocket de forma inmediata. Para http:// y https:// se utilizan solicitudes HTTP simples, mientras que ws:// y wss:// se delegan en el ejecutor de WebSocket.

Selección de un entorno de ejecución en el cliente HTTP

Seleccione un entorno de ejecución

Ahora hay una forma de seleccionar un entorno de ejecución desde el icono de reproducción en el medianil. Para activar esta función, elija la opción Select Environment Before Run en el cuadro combinado Run with.

Desarrollo remoto

La sección de desarrollo remoto en la pantalla de bienvenida de GoLand

Hemos actualizado la sección Remote Development en la pantalla de bienvenida de GoLand. Aquí puede elegir su método preferido para la orquestación del backend. Además, la funcionalidad de reenvío de puertos ahora está disponible para los procesos que se ejecutan en el terminal.

Puede encontrar más detalles sobre las nuevas funcionalidades de desarrollo remoto en este artículo del blog.

Space

La integración con Space se incluye ahora en GoLand

JetBrains Space es una completa plataforma de desarrollo de software que proporciona gestión de proyectos, seguimiento de incidencias, alojamiento Git, revisiones de código, integración continua, repositorios de paquetes y orquestación de backend remoto para los IDE de JetBrains a través de entornos de desarrollo.

La integración con Space está ahora incluida en GoLand. With this first-class integration, you can browse Space projects and clone repositories, then start working on them directly. Cuando sus cambios estén listos, puede crear una solicitud de combinación y realizar una revisión del código desde el IDE.

Ahora puede gestionar sus entornos de desarrollo de Space para el desarrollo remoto directamente en GoLand

Ahora puede gestionar sus entornos de desarrollo de Space para el desarrollo remoto directamente en GoLand.

Cuando su IDE se conecta a su organización de Space, todos sus entornos de desarrollo existentes se sincronizan. Puede crear un nuevo entorno de desarrollo para un repositorio y una rama, y empezar a codificar de inmediato. Puede hibernar un entorno de desarrollo para reducir el consumo de recursos o simplemente eliminarlo cuando haya terminado su trabajo.

Interfaz de usuario

Fusión de ventanas de proyecto

Acción Merge All Project Windows en macOS

Para los usuarios de macOS, hemos introducido la posibilidad de fusionar todas las ventanas de proyecto abiertas convirtiéndolas en pestañas dentro de una única ventana. Para ello, vaya a Windows | Merge All Project Windows.

Cambiar el tamaño de la letra con un acceso directo

Acceso directo de teclado para cambiar el tamaño de la fuente

Hemos incorporado un acceso directo de teclado que cambia el tamaño de la letra en el editor. Para aumentar el tamaño de letra, pulse Alt+Mayús+ . Para disminuirlo, pulse Alt+Mayús+ ,

Al acercarse o alejarse del código dentro del editor, ahora puede ver un indicador que muestra el tamaño de la fuente actual y la opción de volver al tamaño predeterminado.

Utilizar el campo Description al añadir un marcador

Nuevo campo Description de los marcadores mnemotécnicos

Hemos integrado un campo de descripción Description en el cuadro de diálogo Add Mnemonic Bookmark para que pueda añadir una descripción opcional a su marcador. Para añadir un marcador mnemotécnico, haga clic con el botón derecho del ratón junto a la línea que desea marcar y elija la opción correspondiente en el menú contextual. O puede utilizar el acceso directo Ctrl+F11.

La pantalla de bienvenida

Barra de progreso Cloning repository

La barra de progreso Cloning repository se muestra ahora directamente en la lista Projects.

La ventana emergente que da acceso a la configuración de finalización de código

Acceso más rápido a la configuración de finalización de código

Ahora puede acceder a Code Completion Settings desde el botón de menú de la elipsis vertical en la ventana emergente de finalización de código.

Editor

Configuración de la finalización de código

Controlar la inserción automática de paréntesis

Hemos añadido la opción de alternar si el IDE inserta automáticamente paréntesis durante la finalización de código.

Ventana de configuración con el nuevo menú desplegable Highlighting in editor en la esquina inferior derecha

Cambiar el estilo de resaltado de las inspecciones

Puede ajustar el estilo de resaltado de las inspecciones utilizando el nuevo menú desplegable Highlighting in editor en Settings | Editor de Inspections.

Esto le proporciona más opciones para personalizar las inspecciones. Por ejemplo, puede establecer el nivel de gravedad de una inspección concreta en Warning, pero cambiar el estilo de resaltado a Error.

Docker

La acción Copy Docker Image

Copy Docker Image

Ahora puede copiar imágenes de un daemon Docker a otro utilizando la nueva acción Copy Docker Image, que guarda la imagen en un archivo y luego la envía a la conexión elegida.

Conexión automática de Docker al reiniciar el IDE

GoLand ahora se conecta de forma automática a Docker cuando se reinicia el IDE. Este nuevo ajuste está habilitado de forma predeterminada en Settings | Advanced Settings | Docker.

Integración con Colima y Rancher

GoLand está ahora integrado con Colima y Rancher para admitir más opciones para establecer conexiones con un daemon Docker.

Bases de datos

Importación de varios archivos CSV

Opción para importar varios archivos CSV

Ahora puede seleccionar varios archivos CSV e importarlos todos a la vez.

Los modos de resolución Script y Playground

Modos de resolución para las bases de datos

Al trabajar con bases de datos, ahora tiene dos modos de resolución de archivos: Playground y Script.

Playground se usa para cuando se tiene un conjunto de consultas inconexas, y Script es para las consultas que tienen una lógica secuencial.

Otras mejoras

Importar certificados SSL de confianza

GoLand ahora puede ayudarle a importar certificados SSL de confianza desde los almacenes de confianza del sistema. Utilizará los certificados personalizados específicos de su entorno empresarial de forma automática. No es necesario realizar ninguna acción adicional. Todo debería funcionar desde el primer momento.

URL clicables en archivos JSON y YAML

Los archivos JSON y YAML ahora cuentan con referencias web insertadas automáticamente dentro de los valores que comienzan con http:// y https://. Puede abrir estos enlaces en un navegador web y generar solicitudes en el cliente HTTP.