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.
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.
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.
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.
El IDE ahora informa de un error si se intenta utilizar interfaces con métodos en uniones.
Si intenta utilizar un parámetro de tipo como restricción, GoLand mostrará un error.
GoLand inserta automáticamente el identificador de un parámetro de tipo cuando se añade un receptor al crear un método.
Hemos introducido un nuevo grupo Find Usages para los genéricos: Type parameter declaration.
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.
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.
use
Hemos añadido un arreglo rápido que agrupa varias directivas use
en un archivo go.work
en una sola directiva.
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.
unix
GoLand ahora admite la nueva etiqueta de compilación unix
, que reconoce cualquier sistema Unix o similar a Unix.
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.
Hemos mejorado la documentación rápida:
chan
, en las operaciones de envío y recepción de canal y en todas las referencias a los tipos de canal. 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. 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.
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.
iota
Una nueva inspección en GoLand le advertirá si iota
se utiliza de forma irregular.
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
.
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.
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.
Podrá buscar los patrones, editarlos y añadir los suyos propios en Settings | Editor | Language Injections.
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.
GoLand ahora admite conexiones WebSocket. Puede crear solicitudes, así como enviar y recibir mensajes.
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.
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.
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.
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.
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.
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.
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.
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 barra de progreso Cloning repository se muestra ahora directamente en la lista Projects.
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.
Hemos añadido la opción de alternar si el IDE inserta automáticamente paréntesis durante la finalización de código.
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.
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.
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.
GoLand está ahora integrado con Colima y Rancher para admitir más opciones para establecer conexiones con un daemon Docker.
Ahora puede seleccionar varios archivos CSV e importarlos todos a la vez.
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.
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.
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.