Novedades en GoLand 2019.3

GoLand 2019.3 consume menos CPU y presenta un rendimiento más rápido, mejora la compatibilidad con módulos Go, añade un conjunto de arreglos rápidos nuevos y mejora las refactorizaciones. Ya puede llamar a un método de un campo incrustado mediante Evaluate Expression y depurar sus aplicaciones de forma remota utilizando Mozilla rr.

También puede habilitar un Global File Watcher para cada proyecto nuevo, trabajar con Mongo DB ¡y mucho más!

Rendimiento

Un gráfico con la medición de los tiempos de inicialización de GoLand 2019.3 en distintos sistemas operativos

Desde el lanzamiento de GoLand 2019.2 este verano, hemos trabajado duro para que GoLand funcione más rápido y consuma menos CPU. Una de las principales mejoras de rendimiento es la reducción de los tiempos de inicialización, cuando el IDE lo prepara todo entre bastidores, muestra la pantalla de bienvenida e indexa un proyecto.

Tenga en cuenta que los resultados pueden variar dependiendo del tamaño del proyecto y de la antigüedad de su dispositivo, RAM y espacio en disco. Seguiremos trabajando en esto, para que inicializar sea todavía más rápido en versiones futuras.

Mejora en Go Modules

Navegación desde el archivo go.mod a la vista de proyecto

GoLand 2019.3 presenta destacado de sintaxis y navegación para archivos go.mod. Pulse ⌘+B en macOS o Ctrl+B en Windows/Linux en una ruta de importación de dependencias específica y GoLand le llevará a sus fuentes en Project View.

También en Project View, los módulos Go se mostrarán con su ruta de importación completa, en lugar de solo su último fragmento. La versión de cada módulo Go también se mostrará en un color de fuente más suave que la ruta de importación, para que pueda distinguirlos fácilmente.

Actualizaciones del depurador

Cuadro de diálogo Evaluate Expression con el resultado de la llamada

Método de llamada de un campo incrustado

La evaluación de expresiones del depurador ahora le permite llamar directamente a un método de un campo incrustado.

Depuración con Mozilla rr

Depuración remota con Mozilla rr

Muchos servicios de producción escritos en Go se ejecutan en Linux, y Mozilla puede ayudar a investigar errores difíciles de reproducir. La depuración con Mozilla rr es compatible desde GoLand 2018.3, pero solía funcionar únicamente en máquinas de desarrolladores que trabajaban con Linux. Ahora ya se puede arrancar un servidor de depuración en una máquina Linux y depurar la traza de forma remota para macOS y Windows. Para ello, siga los pasos siguientes:

  • Recopile una traza de rr en la máquina remota.
  • Arranque el depurador en la máquina remota del modo siguiente: dlv --headless --api-version 2 -l localhost:2345 replay /path/to/trace/dir /path/to/binary.
  • Conéctese a la máquina remota a través de la configuración de Go Remote.

Tenga en cuenta que Mozilla rr solo está disponible en máquinas Linux.

Nuevos arreglos rápidos

Eliminar el nombre de los parámetros no utilizados de la expresión mediante Alt+Intro

Gestión de parámetros no utilizados

Ahora GoLand destaca el nombre y el tipo del parámetro no utilizado, y puede eliminarse ambos o solo el nombre (si el tipo se utiliza para implementar una especificación de método).

En este último caso, el IDE ofrece dos arreglos rápidos entre los que puede escoger: borrar nombres de parámetros o Rename to_. Lo mismo sucederá con funciones que se utilizan como tipo de función.

Además, ahora también puede quitar todos los parámetros no utilizados de una sola vez. Pulse Alt+Enter y utilice el arreglo rápido Delete all unused parameters.

Crear una función que falta

Creación de un método o función ausentes

GoLand ofrece un arreglo rápido para crear una función o método ausentes cuando se utiliza en un tipo de función. Solo tiene que pulsar Alt+Enter y escoger la opción de Create method/function.

GoLand sugiere la importación de paquetes

Manejo de los alias de paquete mejorados

GoLand ahora sugiere importar paquetes basados en sus alias utilizados a través de Alt+Intro en cualquier archivo en su proyecto.

Refactorización

Los tipos de parámetros se muestran en las pestañas Parameters y Result Parameters

Change Signature

Change Signature ahora siempre muestra el tipo de parámetros en las pestañas de Parameters y Result parameters. Marque la nueva casilla de verificación de Reuse types para contraer los tipos de consecuencias en la Signature Preview y el resultado.

Además, encontrará dos nuevas acciones de intención, Reuse signature types, que combina las definiciones de parámetro en una sola declaración, y Expand signature types, que añade tipos a cada parámetro utilizando Alt+Enter.

Extract Variable sugiere err para expresiones de error de tipo

Extract Variable y Rename

Extract Variable y Rename han mejorado en cuanto a la sugerencia de nombres. Por ejemplo, ahora se sugiere err para expresiones de error de tipo, se sugiere ctx para context.Context, etc.

Comportamiento mejorado de las inspecciones de código

Comparación del comportamiento de las inspecciones de código entre las versiones 2019.2 y 2019.3

Las inspecciones de código de GoLand ahora están más centradas. Hemos reducido el rango de destacado de las incidencias detectadas en el editor de código, para ayudarle a mostrar los arreglos rápidos más relevantes y las acciones de intención para un trozo de código en particular al invocar el menú de contexto mediante Alt+Enter.

Edición de código

Un ejemplo del mensaje de error para literal de runas

Lexer de literal de runas mejorado

Hemos mejorado el lexer de literal de runas de varios modos:

  • GoLand ofrece un mensaje de error más claro y conciso que explica por qué la expresión es incorrecta.
  • GoLand no destaca un literal de runas válido como error tras editar.
  • El análisis de literales de runas no válidos es más estable.
GoLand resalta la reasignación en el lado izquierdo de la declaración

Resaltado de reasignaciones

Go permite utilizar variables existentes en el lado izquierdo de las declaraciones var breves. Así pues, dos construcciones que parecen iguales pueden tener significados distintos. Para que sea más fácil detectar estos casos, hemos añadido resaltado de sintaxis para estas reasignaciones.

Un ejemplo de plegado de código para literales compuestos

Plegado de código para literales compuestos

GoLand 2019.3 ofrece plegado de código para literales compuestos. Utilice el plegado de código para plegar o expandir el fragmento de código, o pulseCtrl+NumPad Minus/Ctrl+NumPad Plus en Windows o ⌘+NumPad Minus/⌘+NumPad Plus en macOS. Para configurar el comportamiento de plegado de código predeterminado, vaya a Settings/Preferences | Editor | General | Code Folding.

Plantillas activas mejoradas

para la plantilla activa sugiere una línea como valor

Las plantillas activas for y forr ahora sugieren nombres de variables relevantes. Por ejemplo, se sugieren nombres como i e index para un índice; s, string, y line son las sugerencias para un valor.

La plantilla activa meth ahora sugiere código para nombres de receptores.

Navegación

Buscar solo en el área seleccionada

Buscar solo en un área seleccionada

Busque solo en un área seleccionada al utilizar Find (⌘+F en macOS y Ctrl+F en Windows/Linux). Basta con seleccionar el trozo de código que necesite en el editor e invocar Find – el IDE efectuará una búsqueda en el área seleccionada. Para cambiar fácilmente a buscar dentro del archivo completo, pulse ⌘+F/ Ctrl+F una segunda vez o cambie la opción In Selection en la barra.

Buscar con ‘Find in Path’ con una opción de máscara de archivo en acción

Uso de ‘Find in Path’ con una opción de máscara de archivo

Ahora, al buscar en el diálogo Find in Path utilizando una máscara de archivo, GoLand muestra las extensiones de archivo en los resultados de búsqueda. Así puede distinguir más fácilmente entre archivos con el mismo nombre, pero con diferentes extensiones de archivo.

Habilitar Global File Whatcher para todos los proyectos nuevos

Habilitar golangci-lint para todos los nuevos proyectos

En GoLand 2018.2 añadimos una opción para compartir una configuración de file watcher entre distintos proyectos usando las opciones Project y Global; se denomina Global File Watcher.

Sin embargo, todavía tenía que habilitar este watcher en cada proyecto nuevo. Ahora ya puede habilitarlo de forma predeterminada en todos los proyectos nuevos que cree o abra.

En el menú File, seleccione Other Settings | Settings for new projects, y vaya a Tools | File Watchers, añada un global watcher nuevo y, a continuación, marque la casilla de verificación situada a su lado para habilitarlo en todos los proyectos nuevos.

Tutoriales

Un ejercicio para la nueva funcionalidad de la refactorización Extract Variable

A menudo, cuando tiene un proyecto que acabar y unos plazos que cumplir, uno no tiene tiempo de leer todas las páginas de Novedades, notas de la versión y artículos del blog acerca de los productos que utiliza. Por eso hemos añadido tutoriales para que aprenda las funciones de GoLand cuando usted quiera.

Puede encontrar Tutorials en la pantalla de bienvenida, bajo su lista de proyectos. Cuando actualice el IDE a una nueva versión, encontrará una lección que hable de las funcionalidades de esta nueva versión. Como alternativa, puede acceder a los tutoriales a través de la ventana de herramientas correspondiente desde cualquier proyecto.

Más cambios

Cambiar entre llamantes y llamados en la ventana de herramientas Hierarchy

Ventana de herramientas de jerarquía

Existe una nueva opción para analizar la jerarquía del método del llamado en la ventana de herramientas Hierarchy. Hemos añadido dos botones específicos nuevos que le permiten cambiar entre llamantes y llamados del método seleccionado. Ahora también puede clasificar los elementos de un árbol alfabéticamente, haciendo clic en un botón especial en el menú. Para ver la ventana de herramientas Hierarchy en la lista Tool Windows, tendrá que crear primero una jerarquía y luego ir a Navigate | Call Hierarchy o Navigate | Type Hierarchy.

Cambiar el complemento de temas sin reiniciar el IDE

Cambiar complementos de mapa de tecla y tema instantáneamente

En GoLand 2019.3, puede instalar y desinstalar cualquier complemento de tema y de mapa de teclas sin reiniciar el IDE.

Seleccione ‘Add Keyboard Shortcut’ en la configuración de la acción ‘Focus Editor’

Un acceso directo personalizado para volver a centrarse en el editor

Establezca su acceso directo personalizado para la acción de volver a centrarse en el editor, en lugar de usar ESC. Encontrará la acción Focus Editor en Preferences/Settings | Keymap; haga clic en ella con el botón derecho y seleccione Add Keyboard Shortcut en la lista desplegable.

Barras de desplazamiento más visibles en el editor

Barras de desplazamiento más visibles

Hemos añadido una opción para hacer las barras de desplazamiento más visibles. Para ello, seleccione la casilla de verificación Use contrast scrollbars en Preferences/Settings | Appearance & Behavior | Appearance.

Mejoras del control de versiones

Nuevo cuadro de diálogo Clone con la lista de repositorios

Rediseño del diálogo Clonar

El diálogo Clone está situado bajo VCS | Get from Version control. Ahora puede iniciar sesión desde el cuadro de diálogo o, si ya ha iniciado sesión, el IDE le mostrará la lista de todos los repositorios agrupados por cuentas u organizaciones.

‘Show Details’ abre una ventana con los cambios de conflictos

Más información acerca de la fusión de conflictos

Ahora es más fácil investigar un conflicto durante una combinación, rebase u operación de cherry pick. Basta con hacer clic en el enlace Show Details para obtener la lista de confirmaciones que dieron lugar al estado de código resultante, y obtener más información acerca de la fuente de los cambios mostrados en el diálogo Merge.

Actualizaciones de bases de datos

Visualizar las colecciones y los campos en el explorador de la base de datos

Compatiblidad con MongoDB

GoLand 2019.3 ofrece soporte básico para MongoDB. Ahora puede:

  • Visualizar las colecciones y los campos en el explorador de la base de datos.
  • Abrir cualquier colección u observar el resultado de la consulta. También es posible ordenar por columnas o filtrar los valores.
  • Ejecutar consultas y obtener los resultados. Seleccionar una instrucción y ejecutarla pulsando Ctrl/⌘+Enter o utilizando el botón Play en la barra de herramientas.
Un ejemplo del error de conexión

Búsqueda de error de conexión

Ahora es más fácil explorar los errores de conexión. Cuando falla una conexión, basta con hacer clic en el botón especializado del IDE para ir a los resultados de búsqueda de su error utilizando los motores de búsqueda de Google.

Desarrollo web

Finalización de código para el nombre de clase desde la biblioteca CSS

Finalización para bibliotecas de CSS en CDN

Si utiliza Bootstrap o cualquier otra biblioteca de CSS y la tiene vinculada desde un CDN en un archivo HTML, ahora dispone de finalización para los nombres de las clases desde dicha biblioteca, sin añadir sus fuentes al proyecto.

Sugerencias de código para la nueva variable

Sugerencias de nombre para nuevos símbolos

Al añadir nuevos nombres para las variables y los parámetros en JavaScript o TypeScript, ahora irá obteniendo sugerencias de nombres en función de los nombres de las clases, las interfaces y los tipos de alias definidos en el proyecto, las bibliotecas estándar y las dependencias que utilice.

En el caso de las variables, las funciones, las clases y las interfaces nuevas, también podrá obtener sugerencias de nombres que ya se usaron en el mismo ámbito, pero que todavía no se han definido.