GoLand 2023.1 incorpora el comprobador de vulnerabilidades, una mejor navegación en código gRPC y refactorización Rename para receptores genéricos.
Ahora puede ejecutar archivos scratch con paquetes de bibliotecas no estándar, utilizar expresiones regulares para crear sus propias inspecciones de búsqueda y sustitución, así como convertir rápidamente literales de cadena sin formato en literales entre comillas dobles y viceversa. La acción de intención Implement interface funciona ahora para interfaces no exportadas.
Aparte de eso, encontrará varias mejoras para nuestra nueva interfaz de usuario, actualizaciones para Docker y Kubernetes, y mejoras para el desarrollo web.
Si prefiere un enfoque de aprendizaje interactivo, le invitamos a seguir el tutorial sobre las novedades de GoLand 2023.1 desde la pantalla de bienvenida.
Ahora GoLand puede resaltar los paquetes con vulnerabilidades conocidas en go.mod
. Pase el ratón por encima del código resaltado o pulse Alt+Intro, seleccione Show vulnerability info for … y GoLand le mostrará una lista de vulnerabilidades con enlaces a la descripción detallada. Los datos sobre vulnerabilidades los proporciona la empresa de seguridad informática Checkmarx.
Puede situar el cursor sobre un paquete resaltado en go.mod
, pulsar Alt+Intro y elegir el arreglo rápido Change package-name version to v0.x.x para actualizar una dependencia a una versión que no tenga vulnerabilidades.
GoLand también resalta las llamadas a métodos desde paquetes con vulnerabilidades conocidas directamente en su editor. Puede pasar el ratón por el código resaltado y ver una ventana emergente con información sobre la vulnerabilidad y un enlace a la descripción detallada.
Puede acceder a ella mediante Code | Analyze Code | Show Vulnerable Dependencies.
El cliente HTTP de GoLand admite actualmente ejecutar solicitudes gRPC. También puede ejecutar solicitudes gRPC desde la ventana de herramientas Endpoints.
Esta versión ofrece otra valiosa contribución a nuestro conjunto de funciones gRPC. Ahora puede navegar y acceder a las declaraciones de mensajes, servicios y métodos desde el código Go y sus implementaciones Go desde los archivos .proto
.
Para ello, haga clic en el icono específico situado junto a la declaración de un mensaje, servicio, método o su implementación.
Ahora puede ejecutar archivos temporales con dependencias Go de bibliotecas no estándar. Cuando copia su código desde un archivo de proyecto a un archivo temporal y pulsa el botón Run, GoLand crea una configuración Run con el indicador -overlay
. Este indicador se utiliza con un archivo JSON que asigna las rutas de los archivos a go.mod
y go.sum
en su proyecto original.
Al cambiar el nombre de un parámetro de tipo en un struct, la refactorización Rename sugiere ahora cambiar los receptores en consecuencia.
Hemos solucionado varias incidencias que afectaban a la navegación entre interfaces, implementaciones y especificaciones de métodos en código genérico. También hemos implementado varias correcciones adicionales para los falsos positivos y falsos negativos relacionados con los genéricos.
Ahora, existe una acción de intención que le permite convertir rápidamente literales de cadena sin procesar (cadenas que están rodeadas de tildes graves) en otras entre comillas dobles y viceversa.
Antes, cuando necesitaba convertir un número entero en una cadena, GoLand le sugería primero el arreglo rápido Convert to ‘string’. Para completar la conversión correctamente, necesitaría otro arreglo rápido: Convert integer to string using strconv.Itoa() call.
Hemos simplificado este flujo de trabajo, y ahora GoLand sugiere directamente el arreglo rápido de la llamada Convert integer to string using strconv.Itoa() call.
La acción de intención Implement interface funciona ahora para interfaces no exportadas.
GoLand dispone ahora de una inspección y un arreglo rápido que le ayudarán a detectar y eliminar espacios iniciales en directivas Go como //go:embed
.
En la versión anterior habilitamos la funcionalidad Intention Preview de forma predeterminada.
Esta funcionalidad le permite ver al instante cómo se alterará su código una vez que aplique las sugerencias del IDE.
Ahora puede previsualizar una gama más amplia de acciones de intención y arreglos rápidos: Introduce local variable, Create variable/global variable, Create constant/global constant, Create field, Merge declaration up, Delete all unused parameters, Create function, Create method, Fill all fields.
Hemos mejorado la experiencia de arranque del IDE realizando el proceso de Scanning files to index… en modo inteligente, lo que hace que toda la gama de funciones del IDE esté disponible mucho antes en el proceso de arranque. Al abrir un proyecto, GoLand utiliza las cachés existentes de su sesión anterior con el proyecto y busca simultáneamente los archivos que indexar. Si no se encuentra ningún cambio durante el análisis, el IDE estará totalmente listo para comenzar a trabajar con él, lo cual evita los retrasos que antes provocaba la indexación al arrancar.
Se activa una nueva notificación cuando se ejecuta Windows Defender con la protección en tiempo real. Dado que estas comprobaciones antivirus pueden disminuir significativamente la velocidad del IDE, GoLand sugiere añadir carpetas específicas a la lista de exclusiones de Defender. La notificación ofrece opciones para reconfigurar estos ajustes automáticamente o consultar primero las instrucciones de configuración de Defender y hacerlo manualmente.
Hemos actualizado la funcionalidad Code Vision. GoLand muestra ahora el número de implementaciones de una interfaz y las especificaciones de sus métodos.
En la versión anterior, incorporamos los usos mostrados cerca de todas las funciones y tipos que indicaban con qué frecuencia se hace referencia a la función o tipo en el proyecto actual. También se muestran los autores del código si la integración del control de versiones está activada.
Ya puede utilizar expresiones regulares para crear sus propias inspecciones de búsqueda y reemplazo. Estas inspecciones pueden ser especialmente útiles para resaltar problemas basados en el estilo o el formato.
Vaya a Settings | Editor | Inspections y pulse el icono +. Seleccione Add RegExp Search Inspection en la lista y se le dirigirá a un cuadro de diálogo en el que podrá configurar su nueva inspección. Seleccione el lenguaje que desee, utilice los consejos del panel de la izquierda para crear una RegExp y designe la sustitución necesaria. También puede especificar cómo desea que el IDE las resalte en el proyecto.
En la versión 2022.3, integramos la funcionalidad Go Playground en GoLand.
En esta versión, hemos mejorado esa funcionalidad. En primer lugar, las URL compartidas incluyen ahora el parámetro de versión si elige la versión dev o las anteriores.
También hemos añadido una opción para desactivar la ventana emergente que le pide permiso para compartir código en el Playground. Puede desactivarla en Settings | Go | Ask before sharing in Go Playground.
Hemos perfeccionado la experiencia del usuario al pegar una línea copiada o cortada sin selección. Ahora hay un ajuste específico que le permite controlar la ubicación del contenido pegado.
En Settings | Advanced Settings, busque la sección Editor y seleccione el comportamiento deseado para la acción Paste en la lista desplegable.
Hay una nueva casilla de verificación Selection en Settings | Editor | General | Appearance | Show Whitespace que le permite configurar este ajuste para que el IDE muestre los espacios en blanco como pequeños puntos solo cuando seleccione código.
Hemos actualizado la inspección Typo para que ya no compruebe la ortografía de los hashes y los valores especiales, y no los señale como mal escritos. Esta actualización abarca los siguientes valores:
Hemos introducido un nuevo grupo Find Usages para las llamadas a funciones: el grupo Call.
También hemos implementado algunas correcciones a cómo se representa el uso de elementos de código genérico en la ventana Find Usages.
Ahora es posible usar el zoom en GoLand para aumentar o disminuir el tamaño de todos los elementos de la interfaz de usuario a la vez. En el menú principal, seleccione View | Appearance | Switch Zoom IDE y ajuste la escala del IDE.
Hemos introducido una nueva opción de diseño que le permite unificar la anchura de las ventanas de herramientas laterales o conservar la posibilidad de ajustar sus tamaños libremente a medida que personaliza su diseño. La nueva casilla de verificación Remember size for each tool window está disponible en Settings | Appearance | Appearance & Behavior | Tool Windows.
En la nueva interfaz de usuario, el ajuste está desactivado de forma predeterminada, lo que significa que las ventanas de herramientas se muestran con una anchura unificada y sus tamaños permanecen constantes cuando se cambia entre ellas. En la interfaz de usuario antigua, la opción está activada, por lo que las ventanas de herramientas tienen anchuras diferentes, aunque puede optar por alinearlas en cualquier momento simplemente desactivando el ajuste.
Ahora puede guardar y gestionar varios diseños de ventanas de herramientas y cambiar entre ellos según sus necesidades.
Para guardar un nuevo diseño, disponga las ventanas de herramientas como desee y vaya a Window | Layouts | Save Current Layout as New. Una vez ajustada la disposición, puede actualizar el diseño actual mediante la opción Save Changes in Current Layout o guardar estos cambios para otro diseño personalizado. Para activar un diseño guardado, búsquelo en la lista de Window | Layouts, pase el ratón sobre su nombre y haga clic en Apply.
Esta versión añade una opción para predefinir el comportamiento de Actions on Save para nuevos proyectos.
Para ello, vaya a File | New Projects Setup | Preferences For New Projects | Tools | Actions on Save y seleccione qué acciones desea que se activen al guardar los cambios en sus proyectos.
El año pasado incorporamos una nueva interfaz de usuario más minimalista para GoLand y otros IDE de JetBrains. Hemos seguido perfeccionando la nueva interfaz de usuario a partir de sus comentarios. Siga leyendo para conocer los principales cambios en la interfaz de usuario que se han incorporado en esta versión. Puede probar la nueva interfaz de usuario marcando la casilla de verificación New UI en Settings | Appearance & Behavior.
Visite esta página para obtener más información sobre la nueva interfaz de usuario.
Para mejorar la experiencia del usuario con nuestra nueva interfaz de usuario en pantallas más pequeñas, hemos introducido el modo Compact, que ofrece un aspecto más consolidado al reducir la altura de las barras de herramientas y de los encabezados de las ventanas de herramientas, y el tamaño de los espacios, los rellenos, los iconos y los botones.
Para activar el modo Compact, vaya al menú View y seleccione Appearance | Compact Mode.
Además, la barra de herramientas superior ya no está visible en los modos Zen y Distraction Free.
Para la nueva interfaz de usuario, hemos introducido la opción de dividir el área de la ventana de herramientas para que la organice como prefiera.
Para añadir una ventana de herramientas a esta área y colocarla en la parte inferior, arrastre el icono por la barra lateral y suéltelo bajo el separador. Como alternativa, puede hacer clic con el botón derecho del ratón en un icono para llamar al menú contextual y asignar la nueva posición de una ventana de herramientas mediante la acción Move to.
Si tiene varios proyectos abiertos, ahora puede cambiar fácilmente entre ellos con las pestañas de proyecto que aparecen debajo de la barra de herramientas principal. Para ello, vaya a Windows | Merge All Project Windows.
Hemos añadido la funcionalidad Show Hidden Tabs en la nueva interfaz de usuario. Ahora dispone de un menú desplegable que muestra la lista completa de pestañas abiertas, ya que antes podían estar ocultas.
Hemos perfeccionado la experiencia del usuario con la nueva interfaz añadiendo un panel que muestra el nombre del archivo abierto en ese momento cuando las pestañas del editor están ocultas.
Hemos rediseñado el widget Run situado en la parte superior de la ventana del IDE. Con los iconos ahora en verde (en lugar de que la zona a su alrededor se destaque en color), el aspecto es más sutil y más agradable a la vista.
En este build, hemos añadido la finalización de los nombres de los contenedores cuando se utiliza el paquete testcontainers-go
.
Después de escribir el nombre del contenedor, puede utilizar la acción Pull Docker image que se implementó anteriormente.
La pestaña Dashboard del nodo Docker Compose reúne ahora los registros de cada contenedor Docker Compose y los muestra todos en un único lugar, actualizados en tiempo real.
Ahora puede conectarse fácilmente a Azure Container Registry. Vaya a Settings | Build, Execution, Deployment | Docker | Docker Registry y configúrelo seleccionando la opción Docker V2 en el campo de entrada Registry.
Ahora puede añadir indicadores de configuración :z a los montajes enlazados de Docker, lo que le permite conectar volúmenes a contenedores Docker en estaciones de trabajo SELinux. Para activar esta funcionalidad, vaya a Settings | Advanced Settings | Docker.
Para facilitar la creación de nuevos archivos Kubernetes, hemos añadido una nueva acción Kubernetes Resource al menú New que aparece al hacer clic con el botón derecho del ratón en la ventana de herramientas Project.
Una vez que seleccione la opción Kubernetes Resource, verá una ventana emergente que presenta una lista de los tipos de recursos más populares, como Pod, Deployment, ConfigMap, etc.
Hemos introducido un nuevo cuadro de diálogo para crear Kubernetes Secrets.
Para definir un nuevo Secret, puede introducir una clave y un valor manualmente. Alternativamente, puede especificar un archivo cuyo contenido se utilizará para el valor del Secret resultante.
Cuando utilice la acción View YAML para los recursos desde un clúster y realice algún cambio en el archivo abierto, el IDE resaltará ahora todas sus ediciones con marcas codificadas por colores en el medianil. De esta forma, puede asegurarse de que los cambios se han realizado en las partes necesarias del recurso antes de volver a aplicarlos al clúster.
Además, al utilizar el icono Compare with Cluster puede abrir una vista diff completa que obtendrá la versión actual del recurso desde el clúster y la comparará con la versión local.
Ahora puede acceder fácilmente a un archivo kubeconfig en la vista Services y abrirlo en el editor. Si modifica un archivo kubeconfig fuera de GoLand, el IDE lo detectará y actualizará automáticamente su configuración en la ventana de herramientas Services. Además, el IDE admite ahora tanto el resaltado como la finalización de código para los archivos kubeconfig.
Ahora puede asignar accesos directos a la mayoría de las acciones de Kubernetes en la vista Services, como Forward Ports, Delete Resource y Describe Resource, entre otras. Para configurar sus accesos directos personalizados, vaya a Settings | Keymap | Plugins | Kubernetes.
Una nueva acción de intención le permite corregir el formato de las tablas en los archivos Markdown. Puede acceder al arreglo rápido a través del acceso directo Alt+Intro o pulsando el icono de la bombilla amarilla y seleccionando Reformat table en la lista que aparece.
La acción del editor Fill Paragraph ahora es compatible con archivos Markdown, lo que le permite dividir textos largos en varias líneas de longitud uniforme. Para ello, coloque el cursor dentro del párrafo que desea editar y active la acción desde el menú Edit, o busque el comando Fill Paragraph mediante Search everywhere (Doble Mayús) y ejecútelo.
Hemos añadido una página específica para configurar y editar sus preferencias de Markdown en Settings | Editor | General | Smart Keys. Esta página debería facilitarle la gestión de sus preferencias, ya que ofrece casillas de verificación independientes para las distintas funciones del editor, en sustitución de la casilla única que antes se almacenaba en Settings | Languages & Frameworks.
Hemos mejorado la usabilidad de la ventana emergente Branches. Por ejemplo, navegar entre ramas es ahora más fácil, ya que están agrupadas y almacenadas en listas desplegables.
Hemos implementado la finalización en la ventana emergente Create New Branch. Pulse Ctrl+Espacio, y el IDE le sugerirá los prefijos pertinentes basándose en los nombres de las ramas locales existentes.
Para que el seguimiento de los cambios en los archivos resulte más cómodo, hemos añadido sugerencias de color a la ventana de herramientas Structure. Los nombres de los objetos modificados pasarán a ser azules y los nombres de los objetos recién añadidos aparecerán en la ventana de herramientas resaltados en verde.
Hemos reelaborado el comportamiento de las comprobaciones de confirmación de Git y Mercurial con el fin de acelerar el proceso general de confirmación. Las comprobaciones se realizan ahora en segundo plano después de confirmar pero antes de enviar.
Hemos rediseñado la ventana de herramientas Pull Request. Ahora cuenta con una pestaña dedicada para cada solicitud de incorporación de cambios que abra. La pestaña muestra instantáneamente la lista de archivos modificados, pero ahora proporciona menos información que antes. Esto le permite centrarse mejor en su tarea actual. Ahora también hay un botón específico para ejecutar fácilmente la acción que se considere más importante dado el estado actual de la solicitud de incorporación de cambios.
Ha llegado a GoLand la compatibilidad con Astro. Puede obtenerlo a través de nuestro nuevo complemento Astro, que puede instalarse desde Settings | Plugins. El complemento ofrece funcionalidades básicas, como resaltado de sintaxis, finalización de código con importaciones automáticas, refactorizaciones, navegación, formateo correcto y mucho más.
Ahora GoLand transformará de forma automática sus cadenas entre comillas simples o dobles en literales de plantilla siempre que escriba ${
. Esto funciona tanto para cadenas sin formato como para propiedades JSX.
Hemos añadido la compatibilidad con TypeScript en las plantillas Vue cuando se establece el atributo lang
en una etiqueta script
a ts
. Anteriormente, JavaScript se utilizaba independientemente del atributo lang
de la etiqueta script
.
Nota: Para conocer todas las mejoras de desarrollo web de la versión 2023.1, consulte la página de novedades de WebStorm.