Hola Habr!
Hace dos semanas, lanzamos GoLand 2019.3.

Este lanzamiento es especial para nuestro equipo y difiere de los anteriores. Desde el momento en que GoLand del complemento se convirtió en un IDE independiente, han pasado 2 años. Todo este tiempo intentamos agregar la mayor diversidad de funcionalidades posible: desde un conjunto de refactorización, integraciones con perfiladores, soporte de calidad para Go Modules, inspecciones de código y temas personalizados hasta la capacidad de descargar e instalar cualquier versión del SDK directamente desde el IDE.
En esta versión, decidimos centrarnos en mejorar el rendimiento, corregir errores menores, imperfecciones y escenarios con comportamiento inesperado. Sin embargo, no pudieron resistir y aun así agregaron algunas cosas nuevas :)
En resumen, entonces:
- GoLand 2019.3 consume menos recursos de CPU y es mucho más rápido que antes.
- Soporte mejorado para los módulos Go.
- Se agregaron muchas nuevas soluciones rápidas y características para refactorizar.
- Las inspecciones muestran solo las soluciones rápidas más apropiadas para un código en particular.
- Ahora puede depurar aplicaciones de forma remota utilizando Mozilla rr en MacOS o Windows.
- Hay una configuración predeterminada global para File Watchers para todos los proyectos nuevos.
- Apoyado por MongoDB.
- Agregamos lecciones interactivas al IDE: por un lado, esta es una forma alternativa de aprender sobre nuevas funcionalidades y, por otro, la oportunidad de probarla inmediatamente en acción.
Rendimiento
Trabajamos duro para acelerar el IDE y consumir menos recursos. El resultado principal: tiempo de inicio reducido.
Tenga en cuenta que los resultados pueden variar según el tamaño del proyecto, la antigüedad del dispositivo, la cantidad de RAM y el espacio en disco.
El trabajo para mejorar el rendimiento continuará en futuras versiones.

Ir módulos
GoLand 2019.3 tiene resaltado de sintaxis para archivos go.mod y navegación en nombre del módulo importado a la carpeta con su código fuente. Presione ⌘ + B en MacOS o Ctrl + B en Windows / Linux en una ruta de importación de dependencia específica, y GoLand lo llevará a sus fuentes en la Vista de Proyecto .
Además, los módulos Go ahora se muestran con la ruta de importación completa, y sus versiones están representadas por el color de fuente silenciado en la ventana Vista del proyecto .

Depurador
Invocar un método de campo en línea
Evaluar expresión en el depurador ahora le permite llamar directamente al método de campo en línea.

Depuración remota con Mozilla rr
La depuración con Mozilla rr se admite desde GoLand 2018.3, pero anteriormente solo funcionaba en Linux. Ahora puede iniciar el servidor en Linux y depurar el programa de forma remota en MacOS o Windows. Aquí se explica cómo hacerlo:
- Registre el seguimiento de ejecución del programa en la máquina remota.
- Ejecute el depurador en la máquina remota:
dlv --headless --api versión 2 -l localhost: 2345 Repay / path / to / trace / dir / path / to / binary .
- Conéctese a una computadora remota a través de la configuración Go Remote .
Tenga en cuenta que Mozilla rr solo está disponible en Linux.

Nuevas soluciones rápidas
Manejo de parámetros no utilizados
GoLand ahora resalta el nombre y el tipo del parámetro no utilizado, o solo el nombre si el tipo está involucrado en la implementación de la firma del método.
En el último caso, el IDE proporciona dos soluciones rápidas para elegir: Eliminar nombres de parámetros y Cambiar nombre a _ . Se proporciona el mismo comportamiento para funciones y métodos utilizados como un tipo funcional.
Para eliminar todos los parámetros no utilizados a la vez, presione Alt + Intro y use la solución rápida Eliminar todos los parámetros no utilizados .

Crear un método o función faltante
Si una función o método que no se declaró previamente se usa como literal de función, entonces GoLand sugerirá crearlos. Simplemente presione Alt + Entrar y seleccione Crear método / función .

Manejo mejorado de alias de paquete
GoLand ahora ofrece importar paquetes basados en los alias utilizados a través de Alt + Enter en cualquier archivo de proyecto.

Refactorización
Cambiar firma
Cambiar firma ahora siempre muestra los tipos de parámetros en las pestañas Parámetros y Parámetros de resultados . Para combinar los mismos tipos de parámetros en una firma, la opción Reutilizar tipos es útil.
Además, encontrará dos nuevas acciones de intención: Reutilizar los tipos de firma combinará las mismas definiciones de parámetros en una declaración, y Expandir firma , por el contrario, agregará tipos a cada parámetro a través de Alt + Enter .

Extraer variable y cambiar nombre
Extract Variable y Rename ofrecen nombres adecuados para variables, analizando el contexto. Por ejemplo, err para una expresión con manejo de errores, ctx para context.Context, etc.

Inspecciones de código
Las inspecciones de código ahora funcionan más de cerca. Hemos reducido el rango de resaltar posibles problemas en el editor, de modo que cuando llame al menú contextual a través de Alt + Enter, muestre solo las soluciones rápidas más adecuadas para una sección particular de código.

Edición de código
Mejoras del editor con literales de runas
Hemos mejorado el trabajo del editor con literales de runas:
- GoLand proporciona un mensaje de error más claro y corto que explica por qué la expresión es incorrecta.
- GoLand no resalta el literal de runas correcto como un error después de la edición.
- El manejo de literales de runas inválidos es más estable.

Reasignación resaltado de sintaxis
Ir le permite usar variables existentes en el lado izquierdo de las declaraciones cortas de var. Por lo tanto, dos expresiones que se ven iguales pueden tener significados diferentes. Para que sea más fácil de notar, hemos agregado resaltado de sintaxis para la reasignación.

Bloques de código colapsados para literales compuestos
En GoLand 2019.3, puede contraer bloques de código para literales compuestos. Use los botones de opción para agregar o descomponer un fragmento de código (presione Ctrl + NumPad Minus / Ctrl + NumPad Plus en Windows o ⌘ + NumPad Minus / ⌘ + NumPad Plus en MacOS). Para configurar el comportamiento de plegado de bloques de código, vaya a Configuración / Preferencias | Editor | General | Código plegable .

Plantillas en vivo
Las plantillas en vivo para y forr ofrecen nombres significativos para las variables, metanfetamina para el receptor. Por ejemplo, los nombres i e índice serán sugeridos para el índice; para una variable, s, cadena o línea.

La navegación
Buscar solo en el área seleccionada
Usando la acción Buscar ( ⌘ + F en MacOS y Ctrl + F en Windows / Linux) ahora puede buscar el fragmento de código requerido en un área limitada. Seleccione el fragmento deseado en el editor y llame a Buscar - GoLand solo buscará en el área seleccionada. Para cambiar fácilmente a la búsqueda de todo el archivo, presione ⌘ + F / Ctrl + F por segunda vez o use la opción En selección en la barra de herramientas.

Usar 'Buscar en ruta' con una máscara de archivo
Ahora, al usar el cuadro de diálogo Buscar en ruta con la opción de máscara de archivo , GoLand muestra extensiones de archivo en los resultados de búsqueda para que sea más fácil distinguir entre archivos con el mismo nombre.

Global File Watchers para todos los proyectos nuevos
En GoLand 2018.2, agregamos Global File Watcher para intercambiar configuraciones de herramientas de terceros entre proyectos ya creados utilizando las opciones Proyecto y Global. En la nueva versión, puede habilitar la configuración global de File Watchers de forma predeterminada en todos los proyectos nuevos que cree o abra.
En el menú Archivo , seleccione Otras configuraciones | Configuración para nuevos proyectos , vaya a Herramientas | File Watchers , agregue un nuevo Global File Watcher y luego marque la casilla junto a él para incluirlo en todos los proyectos nuevos.

Lecciones interactivas
Cuando se acerca la fecha límite, no hay tiempo para estudiar Novedades, notas de la versión, leer un nuevo artículo sobre el producto. Por lo tanto, hemos agregado lecciones interactivas: lo ayudarán a aprender sobre la funcionalidad de GoLand, cuando sea el momento adecuado para esto.
Las lecciones están en la pantalla de bienvenida sobre la lista de proyectos. Después de actualizar el IDE a la nueva versión, aparecerá una lección sobre la nueva versión. Además, los Tutoriales se pueden abrir utilizando la ventana de herramientas de cualquier proyecto.

Misceláneo
Jerarquía
La ventana Jerarquía tiene la capacidad de analizar la jerarquía de las llamadas a métodos. Dos botones nuevos le permiten cambiar entre los métodos que se llaman desde el método actual o el método actual. Ahora también puede ordenar los elementos del árbol en orden alfabético. Para ver la Jerarquía en la lista de Herramientas de Windows, primero debe crear una jerarquía y luego ir a Navegar | Llamar a la jerarquía o navegar | Jerarquía de tipos .

Instale complementos de tema y diseños de teclado sobre la marcha
En GoLand 2019.3, puede instalar y eliminar complementos de diseño de teclado y complementos de esquema de color sin reiniciar el IDE.

Acceso directo personalizado para devolver el foco al editor
Puede configurar su acceso directo para una acción que devuelve el foco al editor, en lugar de utilizar el botón ESC. Busque la acción del Editor de enfoque en Preferencias / Configuración | Mapa de teclas , haga clic derecho sobre él y seleccione Agregar atajo de teclado en el menú desplegable.

Barras de desplazamiento de contraste
Agregamos la capacidad de hacer que las barras de desplazamiento sean más visibles. Para hacer esto, seleccione la casilla de verificación Usar barras de desplazamiento de contraste en Preferencias / Configuración | Apariencia y Comportamiento | Apariencia

Mejoras de soporte de VCS
Diálogo de clonación actualizado
Nuevo cuadro de diálogo de clonación ubicado bajo VCS | Obtener del control de versiones . Ahora puede iniciar sesión en su cuenta de GitHub directamente desde el diálogo actualizado. Si ya inició sesión, el IDE muestra instantáneamente una lista de todos los repositorios agrupados por cuenta u organización de la que es miembro.

Información sobre las causas de los conflictos de fusión.
Si surgen conflictos durante las acciones de fusión, rebase y selección de cereza, ahora puede obtener más información sobre el origen de los cambios en el cuadro de diálogo Combinar. Simplemente haga clic en Mostrar detalles para ver la lista de confirmaciones que condujeron al estado actual del código.

Mejoras de soporte de bases de datos
Soporte MongoDB
GoLand 2019.3 proporciona soporte inicial para MongoDB. Ahora puedes:
- Explore colecciones y campos en el explorador de bases de datos.
- Explorar colecciones en forma de tabla por página. Puede ordenar por valores y usar un filtro.
- Ejecute una consulta: coloque un carro sobre ella y presione Ctrl / Cmd + Enter o el botón Ejecutar en la barra de herramientas.

Buscar errores de conexión con Google
Ahora puede comenzar a investigar los errores de conexión presionando solo un botón en el IDE, y GoLand abrirá los resultados del error en el motor de búsqueda de Google.

Eso es todo! ¡Gracias por leer hasta el final! Agradecemos sus comentarios e intentamos responder cualquier pregunta. Escríbanos aquí en los comentarios, en Twitter o en el rastreador de errores .
Su equipo JetBrains GoLand
El impulso para desarrollar