GoLand 2021.3 cuenta con compatibilidad nativa para proyectos Go en WSL, la refactorización Inline Function y compatibilidad con desarrollo remoto en modo Beta.
A partir de esta versión, gofmt
al guardar está habilitado de forma predeterminada. GoLand 2021.3 incorpora algunas mejoras para el depurador, como Delve para ARM64, la opción Show Types y más.
Presenta dos nuevos postfix para convertir cadenas en números, una nueva plantilla para pruebas de tablas con aserciones testify
, y una mejor finalización de valores en etiquetas struct.
Como es habitual, la nueva versión de GoLand aporta mejoras en el desarrollo web y una serie de nuevas funciones para trabajar con bases de datos.
Si prefiere un enfoque de aprendizaje interactivo, siga el tutorial sobre las novedades de GoLand 2021.3 desde la pantalla de bienvenida.
Hemos incorporado la posibilidad de abrir un proyecto en WSL y especificar un SDK ubicado allí.
Si crea un nuevo proyecto (o abre uno existente) en WSL, GoLand le dirá que para este proyecto tiene que usar un SDK de Go en WSL. Puede descargar un SDK de Go o seleccionar uno existente en el subdirectorio \\wsl$
.
gofmt
al guardar La opción Reformat code, que permite ejecutar tanto gofmt
como el propio formateador de GoLand al guardar, está ahora habilitada de forma predeterminada.
Este cambio puede tomar a algunos usuarios por sorpresa, por lo que hemos añadido una notificación que se mostrará una vez en cada proyecto. Puede desactivarla haciendo clic en Don’t show again.
Puede hacer clic en Edit actions on save y el IDE abrirá Settings | Tools | Actions on save, desde donde puede configurar sus ajustes.
Ya está disponible la refactorización Inline para funciones y métodos. Para probarla, sitúe el signo de intercalación en una función, método o invocación y pulse Ctrl + Alt + N.
Al invocar la refactorización Inline, se abre una ventana emergente con varias opciones. Desde esta ventana emergente, también puede abrir la vista previa de refactorización, que le ayuda a encontrar todas las invocaciones de un método o función.
Hemos mejorado la forma en que se gestionan los diferentes tipos de palabras compuestas, p. ej. camelCase, snake_case, etc. cuando se añaden etiquetas en los campos struct.
Cuando rellena una etiqueta, GoLand le sugiere una lista de varias opciones. Después de elegir una, el IDE recuerda su elección y le sugerirá el mismo estilo en primera posición de la lista para otros campos en esta struct.
Tenemos un par de nuevos postfix para convertir cadenas en números. Simplemente escriba un número entre comillas dobles, luego escriba un punto y GoLand le sugerirá dos opciones para analizar el número: parseInt
y parseFloat
.
Se ha mejorado la función Show Usages: ahora puede activar la vista previa del código fuente de un uso encontrado haciendo clic en el icono cuadrado.
Ahora puede poner nombres significativos a las carpetas de la máquina remota donde se almacenan las fuentes y los ejecutables de su proyecto. Para configurar las carpetas, vaya a Run | Manage targets | Additional Settings.
Ahora es posible establecer un destino de ejecución predeterminado para todo el proyecto. Vaya a Run | Manage targets. Se abrirá una ventana con la opción Project default target. Si elige un destino concreto para el proyecto, todas las nuevas configuraciones se crearán con este destino.
Hemos añadido la nueva sección HTTP/SOCKS Proxy a SSH Configurations para que pueda especificar un servidor proxy. Encontrará esta sección en Settings | Tools | SSH Configurations. Alternativamente, desde el proyecto abierto, vaya a Run | Manage Targets | ...
nil
Las interfaces en Go tienen dos componentes, un tipo y un valor de ese tipo. Para que una interfaz sea nil
, ambos componentes deben ser nil
.
Si tiene una interfaz con un valor que contiene un puntero nil
a un int
, esa interfaz no será igual a nil
, porque el tipo interno no es nil
(es *int
). Esto puede ser confuso.
Para detectar estos casos, hemos cambiado la forma en que se representan las interfaces en la pestaña Variables de la ventana de herramientas Debug. Por ejemplo, si tienes una interfaz con tipo interno *int
, y valor nil
, se mostrará así {interface{} | *int} *int(nil)
.
GoLand ya no muestra el nombre completo del paquete en la pestaña Variables del depurador. Ahora solo verá la última parte del nombre completo.
Si los tipos de objetos ocupan demasiado espacio en la pestaña Variables, puede hacer clic con el botón derecho del ratón en el área de la pestaña y desactivar la opción Show Types en el menú que aparece. Puede volver a activarla seleccionándola de nuevo en el mismo menú.
A partir de esta versión, GoLand incluye Delve creado para la arquitectura ARM64, y la depuración en Linux ARM ahora está lista para usar.
También hemos mejorado los mensajes de error cuando GoLand no incluye Delve para arquitecturas específicas. El IDE ahora te dice explícitamente qué está mal.
testify
Hemos añadido una nueva plantilla para las pruebas de tabla con aserciones testify
. Si ya ha utilizado assert
en su paquete, GoLand generará un código con aserciones cuando pulse Alt + Ins y elija la opción necesaria.
GoLand now has a quick-fix for an inspection that warns you about incorrect formatting of error strings: “Error strings should not be capitalized or end with punctuation”. Pulse Alt + Intro y GoLand le sugerirá que arregle el formato de la cadena.
Si ha escrito una función exportada que devuelve un tipo no exportado, GoLand le sugerirá un arreglo rápido para exportar ese tipo.
context.TODO()
Hemos añadido una inspección que destaca los usos de context.TODO()
. Puede habilitarla en Settings | Editor | Inspections. La inspección servirá como recordatorio para cambiar context.TODO()
si no estaba claro qué Context
se debería haber utilizado en el momento de la escritura.
//TODO implement me
Hemos añadido el comentario //TODO implement me
para las plantillas generadas cuando utiliza la acción Implement Methods. Estos comentarios especiales se resaltan en el editor, se indexan y se enumeran en la ventana de herramientas TODO, lo que permite que sirvan como recordatorio de los métodos no implementados.
GoLand ahora es compatible con una versión Beta para flujos de trabajo de desarrollo remoto.
Puede configurar los flujos de trabajo de desarrollo remoto directamente desde la pantalla de bienvenida de GoLand. Como alternativa, puede utilizar JetBrains Gateway, nuestra nueva aplicación que sirve como punto de entrada a todos sus backends remotos.
Encontrará instrucciones sobre cómo iniciarse en el desarrollo remoto en esta página.
El cliente HTTP de GoLand ahora admite solicitudes gRPC y ofrece finalización de estas. Inicie sus solicitudes con la palabra clave GRPC
y el cliente HTTP las tratará como solicitudes gRPC.
Puede generar automáticamente una solicitud gRPC en el cliente HTTP haciendo clic en los iconos del medianil en sus archivos .proto
.
Actualmente, el cliente HTTP puede ejecutar RPC unarios y de streaming de servidor. Como en las solicitudes HTTP ordinarias, el cuerpo de la solicitud y las respuestas son archivos JSON simples.
El cliente HTTP disfruta de otras varias mejoras, sobre las cuales puede leer aquí.
La acción Checkout and Rebase onto Current le permite extraer la rama seleccionada y volver a situarla sobre una rama que está actualmente extraída. Ahora está disponible para ramas remotas.
A veces, puede que tenga varias confirmaciones listas para su envío mientras que otras todavía están en curso. En estos casos, es posible que desee hacer push solo con las que le inspiren confianza.
Ahora puede hacer push de las confirmaciones hasta la que haya seleccionado en la pestaña Log de la ventana de herramientas Git. Para ello, elija la confirmación en la que desea detenerse, haga clic con el botón derecho del ratón para llamar al menú contextual y seleccione la acción Push All up to Here.
Hemos hecho que las configuraciones del VCS sean más visuales y estructuradas. El nodo Version Control en Settings ahora enumera todos los ajustes disponibles.
La funciónEvaluate expression está ahora disponible en la pestaña Variables de la ventana de herramientas Debug.
Ahora puede dividir la ventana de herramientas Run arrastrando y soltando las pestañas al área resaltada. Para eliminar la división de la ventana, haga clic con el botón derecho en el panel superior y seleccione Unsplit en el menú contextual.
Tenemos una nueva ventana de herramientas Bookmarks. A partir de ahora, todos los archivos y carpetas que marque como importantes con el acceso directo F11 se encontrarán en esta ventana.
Puede visualizar la diferencia entre las dos instantáneas en el gráfico de llamas. Pulse dos veces Mayús y escriba «Open Profiler Snapshots» en la barra de búsqueda. Abra una instantánea de la lista, repita las mismas acciones y abra otra.
A continuación, haga clic en el botón Compare With Baseline en una pestaña de una de las instantáneas. En el menú, seleccione la instantánea con la que desea comparar. Se abrirá una pestaña Diff por separado con los resultados de la comparación.
GoLand’s terminal supports the new ConPTY API on Windows. We addressed several problems users were having with the old implementation, which was based on winpty, and enabled PTY on Windows by default.
Con ConPTY, los colores de 24 bits son compatibles con el terminal integrado.
Anteriormente, cuando se escribían caracteres en el terminal de GoLand mientras se trabajaba en una máquina remota, el IDE no podía mostrar los caracteres tan rápido como lo haría en una máquina local debido a la latencia.
Esto ya no es un problema porque hemos introducido la compatibilidad con typeahead. Nuestro terminal integrado predice las modificaciones de texto y las muestra instantáneamente en gris claro.
import
Puede descargar módulos remotos ES6 utilizando un arreglo rápido en la ruta de importación en los archivos ES6. El módulo se descargará con todas sus dependencias. Para probarlo, coloque el signo de intercalación en la ruta de importación, pulse Alt + Intro y seleccione Download module.
Hemos mejorado el funcionamiento de la finalización del código en los archivos HTML. Cada vez que escriba un nombre de etiqueta o una abreviatura en el editor, o invoque la finalización de código, GoLand le mostrará sugerencias relevantes de inmediato.
Anteriormente, solo se mostraban si se escribía el signo <
primero. También se ha mejorado la finalización del código para las referencias a entidades de carácter.
Puede actualizar sus paquetes npm a la última versión directamente desde el editor. Abra su archivo package.json
, sitúe el signo de intercalación sobre la versión del paquete que desee actualizar, pulse Alt + Intro y seleccione Update … to the latest version.
GoLand se ha actualizado con una acción de intención para proyectos de JavaScript que le permite situar rápidamente elementos separados por comas en líneas separadas y, si es necesario, de nuevo en una línea.
Hemos añadido la posibilidad de mostrar la vista agregada de un rango de celdas. Seleccione el rango de celdas para el que desea la vista, haga clic con el botón derecho y seleccione Show Aggregate View. En la barra de estado se muestra un valor agregado, y puede elegir qué valor quiere que sea.
Si divide el editor y abre la misma tabla, los editores de datos serán completamente independientes. Puede establecer diferentes opciones de filtrado y ordenación para ellos.
Tenemos una nueva inspección para expresiones booleanas en las cláusulas WHERE
y HAVING
.
Si la expresión no parece ser explícitamente booleana, la resaltamos en amarillo y le advertimos antes de ejecutar dicha consulta.
It works for ClickHouse, Couchbase, Db2, H2, Apache Hive/Spark, MySQL/MariaDB, Redshift, SQLite, and Vertica. En todas las demás bases de datos, se resaltará como un error.
En el editor de datos, puede seleccionar varios valores y navegar hasta los datos correspondientes.
GoLand detecta los tipos de columna en los archivos CSV, y ahora puede ordenar los datos por un valor numérico. Antes, los datos de las columnas se trataban como texto y la ordenación no funcionaba como se esperaba.
filter {}
y sort {}
La finalización del código ahora funciona al filtrar datos en las colecciones de MongoDB.
Puede configurar las fuentes para el editor de datos por separado del resto del IDE. Para escoger la fuente, vaya a Settings | Tools | Database | Data views | Use custom font.
Hemos solucionado algunos problemas de accesibilidad para que el trabajo con el lector de pantalla sea más cómodo. Hemos desactivado la ventana emergente del widget de herramientas y la ventana emergente de documentación rápida que solía aparecer al pasar el ratón por encima.
Se ha mejorado la compatibilidad con la accesibilidad en macOS. Hemos resuelto varios problemas de enfoque de la voz en off y hemos hecho posible la creación de proyectos con un lector de pantalla. Para minimizar las distracciones mientras codifica, hemos disminuido el número de ayudas emergentes que reproducen sonidos.