Novedades de GoLand

En GoLand 2020.3 puede explorar el volcado de goroutines, ejecutar y desplazarse a pruebas de tablas individuales y aprovechar mejor la compatibilidad ampliada con el marco de trabajo de pruebas Testify. También encontrará muchas nuevas funcionalidades de edición de código, incluida la compatiblidad con paquete de tiempo, modos más inteligentes de gestionar paquetes, mejoras en la interfaz de usuario, diversas funcionalidades nuevas para el desarrollo web y el trabajo con bases de datos, y un nuevo servicio para el desarrollo colaborativo y la programación en pares.

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

Mejoras del depurador

Explorar una pila de goroutines en el depurador

El nuevo icono Dump Goroutines del depurador le permite encontrar fácilmente goroutines que contengan una cadena especificada en la pila durante la sesión de depuración. Solo tiene que hacer clic en el icono para abrir un volcado en otra ventana.

Para ayudarle a centrarse en la información importante, cuenta con la opción de ocultar una goroutine individual, o goroutines con la misma pila. Haga clic en una goroutine y seleccione la acción que desee, o basta con que pulse el botón de eliminar para moverla a una sección especial Hidden de la ventana de volcado, donde no le distraiga.

Detener una configuración "Go Remote"

GoLand 2020.3 incorpora la capacidad de detener un proceso con configuración Go Remote si no se requiere una nueva conexión.

En los ajustes de configuración puede especificar el comportamiento predeterminado del depurador al desconectar, puede seleccionar Stop remote Delve processes, Leave it running o que GoLand le pregunte cómo proceder en cada momento.

Mejoras en la ejecución de pruebas

Ejecución de una prueba de tabla individual

Compatibilidad con pruebas de tablas

Puede ejecutar pruebas de tabla individuales y desplazarse hacia ellas desde la ventana de herramientas Run.

Encontrará algunos límites:

  • La variable de datos de prueba debe ser una porción, un vector o un mapa. Debe definirse en la misma función que la llamada, y no debe tocarse tras la inicialización (excepto para cláusulas de rango en un bucle "for").
  • La entrada de datos de prueba individual debe ser un literal struct. Las variables de bucle utilizadas en una expresión de nombre de subprueba no deben tocarse antes de la llamada.
  • Una expresión de nombre de subprueba puede ser un campo de cadena en los datos de prueba, una concatenación de campos de cadenas de datos de prueba, y una llamada fmt.Sprintf() con verbos %s y %d.
GoLand sugiere un argumento dentro de las funciones de prueba

Compatibilidad ampliada con Testify

El IDE ahora reconoce la función de prueba que inicia una suite de pruebas, y ofrece un modo de iniciar un suite.Run individual y suite.T().Run, siempre que el nombre de subprueba sea una constante de cadena. Además, se puede ejecutar de nuevo una subprueba desde la ventana de herramientas Run para evitar ejecutar de nuevo toda la prueba de nivel superior.

Además, GoLand ya puede ejecutar suites Testify con el mismo nombre de método por separado dentro de un caso de prueba individual.

Y por último, aunque no menos importante, cuando completa una función o método que acepta testing.T como primer argumento, GoLand aprueba ese argumento automáticamente si es posible. Esto funciona con funciones y métodos de paquetes testify/assert, testify/require, testify/mock y testify/suite.

Inspecciones de código

GoLand advierte acerca de un posible problema en el editor y muestra la intención "Add format string argument"

La inspección de código Incorrect usage of Println/Printf like functions le avisará acerca de posibles problemas en paquetes github.com/pkg/errors, github.com/sirupsen/logrus y go.uber.org/zap.

Además, hemos añadido destacado y plegado de marcadores de posición, así como la intención Add format string argument.

GoLand advierte cuando una ruta de ejecución no llama a la función de cancelar

La inspección context.CancelFunc not called code informa acerca de usos potencialmente no seguros de la cancelación de contexto. Esto resulta especialmente útil cuando no se llama en todas a las rutas de ejecución a la función "cancel" devuelta por context.WithCancel (y funciones similares).

Para obtener más información sobre este paquete, visite: https://golang.org/pkg/context/.

Edición de código

GoLand ofrece finalización de código para distribuciones de tiempo

Compatibilidad con paquete de tiempo

Hemos añadido compatibilidad con el paquete de tiempo para que pueda trabajar más fácilmente con el tiempo y la duración. GoLand sugerirá elementos de distribución predefinida a través de la finalización de código (Ctrl+Espacio), como marcadores de posición YYYY, MM, DD de ISO-8601.

Pulse Ctrl+P en un token y el IDE mostrará su significado. También dispone de resaltado de sintaxis para tokens de distribución. La finalización de código también sugiere distribuciones de tiempo estándar fuera del literal de cadena.

Excluir un paquete de la importación y finalización de código mediante Alt+Enter

Gestión de paquetes más inteligente

El IDE ahora es más inteligente a la hora de priorizar los elementos de finalización para los paquetes que utiliza frecuentemente y que se declaran explícitamente en el archivo go.mod de su proyecto.

También hemos añadido una opción para excluir paquetes por completo de su ruta de importación de proyecto y sugerencias de finalización. Puede hacerlo pulsando Alt+Enter o en la nueva ventana Exclude for import and completion en Settings | Go | Imports.

GoLand utiliza un color distinto para resaltar variables que sombrean cualquier declaración existente

Compatibilidad con sombreado de variables

GoLand facilita la detección de sombreado de variables:

  • Ahora, el IDE muestra variables que sombrean cualquier declaración existente en un color distinto.
  • La acción de intención Navigate to shadowing declaration le permite cambiar inmediatamente a la declaración sombreada.
GoLand es compatible con los corchetes en parámetros de tipo

Corchetes en parámetros de tipo

Hemos seguido las actualizaciones desde el diseño de genéricos por parte del equipo de Go y hemos añadido compatibilidad con corchetes para la sintaxis de genéricos en lugar de paréntesis, puesto que esto se implementó en la edición de la propuesta anterior.

Tenga en cuenta que el ajuste Enable generics (experimental support for type parameters) en Settings | Go está desactivado de forma predeterminada. Tiene que seleccionar explícitamente esa casilla de verificación para comenzar a usar esa funcionalidad.

Lea este artículo del blog para obtener más información acerca de los parámetros de tipo.

Otras mejoras

GoLand muestra las plantillas activas 'Test' y 'Benchmark' en la lista de sugerencias de finalización de código

Al escribir func en el archivo de prueba, GoLand sugiere de forma predeterminada las plantillas activas bench ytest en las opciones de finalización.

GoLand sugiere completar un bucle "for" con b.N dentro del punto de referencia

Al escribir for dentro del punto de referencia, el IDE sugiere completarlo con un bucle "for" con b.N.

GoLand sugiere corregir un error tipográfico

Mejores correctores de ortografía y gramática

Ahora, las sugerencias aparecen inmediatamente en el diálogo al pulsar Alt+Enter. Además, una nueva versión del motor de verificación gramatical LanguageTool incluye revisiones mejoradas del inglés y añade compatibilidad con 10 idiomas más.

Code With Me

'Code With Me' en acción

GoLand 2020.3 admite Code With Me (EAP), un nuevo servicio de JetBrains para el desarrollo colaborativo y la programación en pares. Code With Me le permite compartir con otras personas el proyecto que tiene abierto en ese momento en su IDE y trabajar juntos en tiempo real.

Eche un vistazo a estas publicaciones para obtener más información al respecto.

Mejoras en la interfaz de usuario

Pantalla de bienvenida renovada

Pantalla de bienvenida renovada

Hemos renovado la pantalla de bienvenida para que pueda acceder directamente a:

  • Búsqueda de proyectos.
  • Ajustes para personalizar su IDE.
  • Complementos para ampliar las funcionalidades de su IDE.
  • Tutoriales para obtener más información acerca de las funcionalidades de su IDE.
Opción 'Sync with OS theme' en los ajustes

Sincronice el tema de su IDE con sus preferencias del SO

Seleccione la opción Sync with OS en Settings | Appearance & Behavior | Appearance | Theme para cambiar automáticamente el tema de su IDE y que se adapte a sus preferencias del SO.

Arrastrar una pestaña para dividir el editor

Arrastre y suelte pestañas donde lo desee para dividir el editor

Divida la pantalla del editor principal horizontal o verticalmente arrastrando una pestaña a la posición que desee y soltándola allí. Cuando arrastre una pestaña, el editor destacará dónde puede soltarla.

Abrir un segundo archivo en el editor

Actualizaciones en la vista de proyecto

Hemos mejorado la experiencia del usuario al trabajar con archivos desde la vista Project. Ahora, al abrir un archivo desde la vista Project, la atención se centra de forma automática en el editor para que pueda empezar a trabajar en su código de inmediato. Pulse la barra espaciadora y el IDE le mostrará una vista previa del archivo en la vista Project.

Si desea tener varios archivos abiertos en el editor simultáneamente, ahora puede hacerlo con un simple atajo de teclado. Seleccione el archivo en la vista Project y pulse Shift+Enter para que el IDE divida la ventana Editor y abra el archivo en la parte derecha.

Actualizaciones de VCS

Menú de VCS renovado

Menú de VCS renovado

El menú VCS ahora se adapta al sistema de control de versiones que esté utilizando actualmente, para que le resulte más sencillo acceder a funcionalidades esenciales de VCS, puesto que ya no quedan ocultas en un submenú.

Zona de disposición de Git

Compatibilidad con la zona de pruebas de Git

¡Ahora cuenta con una genial zona de disposición de Git! Recuerde que esta funcionalidad solo está disponible para la ventana de herramientas Commit.

Marque la casilla Enable staging area de Settings | Version Control | Git para activarla. En cuanto lo haga, se deshabilitará la compatibilidad con changelists.

En la interfaz de usuario de confirmación, encontrará archivos dispuestos y no dispuestos. Cuando esté listo para disponer un archivo, solo tiene que hacer clic en el icono + situado junto a él. El archivo aparecerá en el nodo Staged. Para añadir los cambios que desee a la zona de disposición para pruebas, también puede utilizar el icono del medianil o Show Diff.

GoLand corrige un nombre de rama automático

Mejora del trabajo con ramas

Se ha mejorado el trabajo con ramas:

  • El IDE ahora corrige automáticamente símbolos no aceptados en los nombres de ramas nuevas, lo cual le ayuda a crear ramas adaptadas al formato aceptado.
  • El IDE le mostrará ahora todas las acciones disponibles para la rama seleccionada actualmente, como lo haría con otras ramas.
  • Para las ramas remotas, hemos cambiado el nombre de las acciones Merge into Current y Rebase Current onto Selected por el de Pull into Current Using Merge y Pull into Current Using Rebase.

Más funcionalidades

Deshabilitar un complemento para todos los proyectos

Complementos habilitados por proyecto

Hemos añadido la posibilidad de habilitar complementos para el proyecto actual o para todos los proyectos seleccionando Enable for Current Project o Enable for All Projects. En Settings | Plugins, pulse el icono de la rueda dentada en el complemento que desea habilitar o deshabilitar y seleccione la opción que desee.

Mapa de atajos de teclado del sistema para macOS en la configuración

Mapa de atajos de teclado del sistema para macOS

El mapa de atajos de teclado del sistema macOS (Settings | Keymap) sirve para ofrecerle un mapa de teclas de macOS alternativo que cuenta con compatibilidad ampliada con atajos del sistema para que no tenga que utilizar la teclas F para acciones esenciales.

Gráfico de llama en el perfilador en acción

Perfilador – Gráfico de llama

Hemos mejorado el mecanismo de búsqueda del gráfico de llama en el perfilador, así como su visualización, para que encuentre métricas de método más rápido. Puede hacer clic en el icono de la lupa o escribir su solicitud de búsqueda dentro del panel de gráfico de llama.

También hemos añadido un campo de búsqueda, flechas arriba y abajo para una navegación rápida por los resultados de búsqueda, y la capacidad de buscar en todo el gráfico de llama o en un subárbol específico.

Cambios en el desarrollo web

Crear un componente React a partir de su utilización

Cree un componente React a partir de su utilización

Gracias al equipo de WebStorn, GoLand ahora cuenta con una amplia compatibilidad con desarrollo web. Uno de los cambios inminentes en este ámbito es la capacidad de crear un componente React a partir de una referencia no resuelta. Sitúe el signo de intercalación en un componente no resuelto, pulse Alt+Enter y seleccione la inspección correspondiente.

GoLand ha encontrado pnpm en la máquina

Compatibilidad total con pnpm

GoLand es totalmente compatible con el gestor de paquetes pnpm, junto con npm y yarn. Al abrir un proyecto con un archivo pnpm-lock y tener pnpm instalado en su máquina GoLand cambiará automáticamente el gestor de paquetes para este proyecto a pnpm. El IDE también cuenta con una opción dedicada para pnpm en la lista de gestores de paquetes en Settings | Languages and Frameworks | Node.js and NPM.

Ajustes de Webpack

Compatibilidad básica con múltiples configuraciones de webpack

GoLand 2020.3 le permitirá escoger entre detectar archivos de configuración webpack manualmente o automáticamente. Encontrará las nuevas opciones en Settings | Languages & Frameworks | JavaScript | Webpack.

Trabajo con bases de datos

Añadir Couchbase Query como fuente de datos

Compatibilidad con Couchbase

Gracias a nuestros compañeros del equipo de DataGrip, GoLand ha ampliado la familia de bases de datos compatibles con un nuevo miembro: Couchbase. Tenga en cuenta que el IDE es compatible con el servicio Couchbase Query, pero no con el servicio Couchbase Analytics.

GoLand muestra derechos de acceso en los DDL de un objeto

Compatibilidad con derechos de acceso

GoLand ahora conoce los derechos de acceso de los objetos y los muestra en el DDL de un objeto. Esto funciona con MySQL, PostgreSQL, Greenplum, Redshift y SQL Server.

GoLand muestra el valor formateado en un editor por separado

Editor separado para valores de celdas

Hemos mejorado el editor por separado para los valores de celda:

  • Ahora muestra el valor formateado incluso aunque su formato no sea correcto.
  • Se puede editar el valor en la vista formateada y actualizarlo con el formato original en XML de una línea y JSON.
  • Si la anchura de la pantalla resulta fundamental para su flujo, puede desplazar el editor de valor de celda a la parte inferior del editor de datos.
  • ¡Ahora este panel también puede mostrar imágenes!
Extractor 'One-Row' en acción

Importar/exportar bases de datos

Hemos añadido dos nuevos extractores para que trabaje con datos con más facilidad:

  • One-Row le ayudará a copiar una columna a una cadena separada por comas.
  • SQL-Insert-Multirow generará una sola instrucción INSERT con varias filas nuevas para insertar.

Además, ahora cuenta con una opción nueva en la configuración de formato CSV: "never quote values".