Novedades de GoLand

GoLand 2020.2 presenta nuevas funcionalidades para Go Modules, nuevos modos de revisar y solucionar problemas de su código y toda una serie de nuevas inspecciones de código. Además, encontrará nuevas funcionalidades de edición de código, como la esperada Add Caret Per Selected Line (añadir signo de intercalación por línea seleccionada), compatibilidad experimental para genéricos, la capacidad de compartir código con Go Playground desde el editor, actualizaciones para control de versiones, incluyendo compatibilidad con WSL2 para Git en Windows, ¡y mucho más!

¿Prefiere aprender interactivamente en lugar de leer? Complete el tutorial What's New in GoLand 2020.2 dentro del IDE en la pantalla de bienvenida.

Mejoras en Go Modules

Ajustar una nueva variable de entorno GOMODCACHE en el diálogo de variables del entorno

A partir de Go 1.15, puede cambiar la ubicación predeterminada de los módulos caché desde $GOPATH/pkg/mod a otra carpeta utilizando la nueva variable de entorno GOMODCACHE.

Para ello, basta con configurar GOMODCACHE en Preferences/Settings | Go Modules | Environment. El IDE reconocerá la ubicación personalizada y la utilizará para todas las acciones subsiguientes con dependencias.

Comentar la dependencia de módulos en el archivo go.mod

La acción Comment With Line Comment (Ctrl+/ en Windows/Linux y ⌘/ en macOS) ahora está disponible para el archivo go.mod.

GoLand completa una llave de cierre en el archivo go.mod para la instrucción "replace"

GoLand ahora añade inmediatamente una llave de cierre cuando teclea la llave de apertura para las instrucciones replace, exclude y require.

Todo desde los comentarios

Navegación desde el comentario al código fuente

El IDE muestra referencias procedentes de comentarios en declaraciones relacionadas a nivel de paquete, y le permite navegar hasta ellas con la acción Navigate to Declaration or Usages (⌘B en macOS y Ctrl+B/ en Windows/Linux).

Inspecciones de código

Navegación a través de advertencias y errores en el archivo mediante el widget de inspecciones

El nuevo widget de inspecciones muestra el número de advertencias, errores y fallos tipográficos del archivo actual en la esquina superior derecha del editor de código. Puede recorrerlos utilizando los iconos de flecha o la acción Next Error (F2).

El widget le permite configurar el nivel de resaltado (seleccione entre ninguno, solo errores o todos los problemas), cambiar el nivel de gravedad de las inspecciones y pasarlo a la vista compacta Compact View para que no le distraiga.

Ir al error desde la vista Problems y solucionarlo mediante Alt+Enter

La ventana de herramientas Problems muestra una lista de advertencias y errores en el archivo actual, le proporciona una descripción de esos problemas y le permite solucionarlos inmediatamente utilizando Alt+Enter.

Para abrir la ventana de herramientas Problems, haga clic en el widget de inspecciones o vaya a View | Tool Window | Problems. Haga clic con el botón derecho en un problema para pasar directamente a la línea de código en que se produjo el error.

GoLand le avisa sobre un posible problema en la conversión y sugiere solucionarlo mediante Alt+Enter

Una nueva inspección de código gestiona posibles problemas con conversiones string(int) que devuelven la representación UTF-8 del punto de código Unicode x en lugar de la representación con cadenas decimales de x.

GoLand le notifica dichos errores potenciales y le ofrece arreglos rápidos específicos.

GoLand le avisa sobre un nombre de prueba incorrecto y sugiere que lo solucione mediante Alt+Enter

GoLand le notificará utilizaciones erróneas comunes de las pruebas y ejemplos, para que no tenga que volver a llamar explícitamente a go vet por ese motivo. El IDE también ofrece arreglos rápidos en casos sencillos; por ejemplo, sugiere cambiar el nombre de Testme por TestMe.

La inspección de código Malformed struct tag alerta al usuario de un posible problema

La inspección de código Malformed struct tag comprobará que las etiquetas struct cumplen las normas de Go, y le notificará acerca de posibles problemas.

GoLand alerta al usuario acerca de una aserción de interfaz imposible

La inspección de código Impossible interface type assertion comprueba si hay aserciones de tipo v.(T) y los correspondientes casos type-switch en los que el tipo estático V de v es una interfaz que no puede implementar la interfaz de destino T.

Esto sucede cuando V y T contienen métodos con el mismo nombre pero firmas diferentes.

Edición de código

Show Context Actions muestra posibles opciones aplicables

Para obtener una vista previa del resultado de una acción de intención o arreglo rápido antes de aplicarlo a su código, invoque las Show Context Actions con el atajo Alt+Enter, seleccione la acción de intención o arreglo rápido necesario y pulse ⌥+Espacio en macOS o Ctrl+Mayús+I en Windows y Linux.

La acción Add Caret Per Selected Line crea símbolos de intercalación al final de cada línea seleccionada

La nueva acción Add Caret Per Selected Line crea símbolos de intercalación al final de cada línea seleccionada y elimina la selección de las líneas. Invóquela utilizando el atajo Alt+Mayús+G en Windows/Linux o ⌥⇧G en macOS.

La acción de intención Put arguments on one line divide una expresión en líneas separadas

Configure el ajuste de texto para argumentos de llamada, parámetros de función y elementos literales compuestos en Preferences/Settings | Editor | Code Style | Go | Wrapping and Braces.

Como alterativa, puede utilizar las acciones de intención Put arguments on separate lines y Put arguments on one line pulsando Alt+Enter para dividir y unir los elementos manualmente.

Tome el control de los argumentos variádicos

La refactorización Inline Varible descomprime una porción en argumentos variádicos

La refactorización Introduce Variable (Ctrl+Alt+V en Windows y Linux, o ⌘⌥ V en macOS) puede comprimir varios argumentos variádicos en una nueva variable de porción, mientras que Inline Variable (⌥⌘N en macOS y Ctrl+Alt+N en Linux y Windows), por el contrario, descomprime una porción en argumentos variádicos.

El arreglo rápido Unpack slice en acción

Además, ahora puede gestionar incidencias con argumentos variádicos descomprimidos mediante el arreglo rápido Unpack slice.

Guardar proyectos como plantilla

Ventana de herramientas Save Project as Template

Ahora puede reutilizar proyectos o archivos guardándolos como plantillas de proyecto personalizadas. Seleccione Tools | Save Project as Template. El IDE volverá a crear el árbol del proyecto con archivos, carpetas y configuraciones de compilación.

Go Playground

Acción Share in Playground en el menú desplegable

Ahora puede compartir y ejecutar código en Go Playground haciendo doble clic dentro del editor. Basta con seleccionar Go Tools | Share in Playground en el menú desplegable o Tools | Go Tools | Share in Playground. También puede pulsar ⌥⇧⌘S en macOS o Ctrl+Alt+Mayús+S en Windows/Linux.

Esto también funciona para que los archivos go2 interactúen con los genéricos, en cuyo caso GoLand le llevará al nuevo https://go2goplay.golang.org/.

Genéricos, es decir, parámetros de tipo

Los archivos go2 se abren en el editor con resaltado de sintaxis y resolución de referencias básica

El equipo de Go anunció recientemente el borrador de un diseño para genéricos. Visite la documentación de Golang para obtener todos los detalles acerca del concepto.

GoLand 2020.2 ofrece compatibilidad experimental con genéricos, con la que puede experimentar activando la configuración Enable experimental support for generics a.k.a. type parameters en Settings/Preferences | Go.

Esta compatibilidad inicial ofrece resaltado de sintaxis y resolución de referencias básica, y funciona solo con archivos go2.

En el interior

Sincronizar dependencia mediante Alt+Enter

Con el modo vendoring activado, puede crear su aplicación solo con los paquetes de dependencia almacenados en la carpeta Vendor de su proyecto.

Ahora, si un proyecto tiene una carpeta Vendor y ha seleccionado el ajuste Enable vendoring mode automatically en Settings/Preferences | Go | Go Modules, la operación resolve solo utilizará la carpeta vendor/ y no consultará con la caché de módulos.

GoLand muestra el progreso de "go list" en la barra de progreso

GoLand ejecuta comandos go list de forma secuencial y ofrece una barra de progreso con información acerca de los números reales de comandos go list en la cola.

Control de versiones

Compatibilidad con WSL2 para Git en Windows

Compatibilidad con WSL2 para Git en Windows

GoLand 2020.2 le permitirá usar Git desde WSL2, que está disponible de forma nativa en la actualización de mayo de Windows 10, version 2004. Si Git no está instalado en Windows, GoLand buscará Git de forma automática en WSL y lo usará desde allí. También cambiará automáticamente a Git desde WSL para proyectos abiertos desde WSL (a través de \wsl$ path).

Cuadros de diálogo de acciones Git mejorados

Cuadros de diálogo de acciones Git mejorados

Hemos rediseñado los cuadros de diálogo de Git para acciones como Merge, Pull, y Rebase, para que resulten más coherentes e informativos. También hemos hecho que resulte más fácil entender qué comando de Git se ejecutará, y hemos añadido la opción –rebase al cuadro de diálogo Pull y la opción –no-verify al cuadro de diálogo Merge.

Iniciar una revisión con una acción de comentario

Compatibilidad total con las solicitudes de incorporación de cambios de GitHub

¡GitHub Pull Requests está totalmente equipado! Explore, asigne, gestione e incluso combine las solicitudes de incorporación de cambios, vea la línea de tiempo y los comentarios de línea, envíe comentarios y revisiones, y acepte los cambios sin salir de GoLand.

Presentación mejorada de los resultados de Compare branches

Presentación mejorada de los resultados de Compare branches

Ahora, cuando compara dos ramas en GoLand, puede ver las confirmaciones de las ramas comparadas en una sola vista. El IDE abrirá los registros de las dos ramas que se están comparando en el editor, en lugar de en la ventana de herramientas del VCS, donde no hay suficiente espacio para mostrar toda la información.

Actualizaciones de bases de datos

Editor separado para valores de celdas

Editor separado para valores de celdas

Ahora si tiene un valor muy grande en su celda, se puede ver o editar en un panel separado. También puede cambiar entre el modo de salto de línea suave (soft wrap) utilizando la barra de herramientas de la derecha. ¡Utilice toda la potencia de nuestro editor de código para sus datos!

Vista previa DML en el editor de datos

Vista previa DML en el editor de datos

A partir de esta versión, puede revisar la consulta que representa sus cambios en el editor de datos. Ahora hay un botón DML que está activo si hay cambios pendientes.

Y verá un cuadro de diálogo con la vista previa DML. Esta consulta no es el SQL exacto que se ejecutará para modificar sus datos, porque GoLand utiliza un controlador JDBC para actualizar las tablas, aunque en la mayoría de los casos sí será el mismo.

Una nueva interfaz de usuario para valores booleanos

Una nueva interfaz de usuario para valores booleanos

Ahora hay un modo más intuitivo de ver y editar valores booleanos. Los valores True ahora se marcan con una viñeta para distinguirlos de los demás.

Asistencia a la codificación para el dialecto Google BigQuery

Dialecto Google BigQuery

Hemos añadido un nuevo dialecto SQL: Google BigQuery. Todavía no ha llegado la compatibilidad total con BigQuery, pero siempre hay que empezar por algún lado. GoLand puede resaltar correctamente y ofrecerle asistencia a la codificación para sus consultas si utiliza Google BigQuery.

Javascript y Typescript

Nuevas intenciones inteligentes

Las nuevas intenciones inteligentes (Alt+Enter) le ayudarán a realizar algunas acciones más rápidamente. Por ejemplo, ahora puede convertir rápidamente un bucle for con un índice numérico en un método de vector forEach. Consultar los comentarios de la documentación en archivos JavaScript y TypeScript también se ha vuelto más sencillo, ya que ahora puede mostrarlos directamente en el editor para minimizar las distracciones.