Novedades de RubyMine 2022.1

Compatibilidad con las nuevas características del lenguaje Ruby y RBS, nuevas inspecciones y arreglos rápidos, mejoras en la experiencia de usuario y mucho más.

Ruby

Compatibilidad con las nuevas funcionalidades del lenguaje

RubyMine 2022.1 añade compatibilidad con las nuevas características de Ruby y RBS introducidas en Ruby 3.1. Esto incluye compatibilidad con genéricos acotados, colección RBS, reenvío de argumentos de bloques anónimos, alias de tipos genéricos, y más.

Nuevas inspecciones

Esta versión añade varias inspecciones nuevas que comprueban el uso de las variables de tipo en RBS. Informan de las firmas de tipo que faltan, del uso de argumentos de tipo no válidos, de las variantes de variables de tipo conflictivas, de la varianza de argumentos de tipo incorrectos , etc.

Sobrecargas en la documentación rápida

RubyMine ahora puede mostrar las sobrecargas en la búsqueda de la documentación rápida (Ctrl+Q). Al invocar la documentación rápida en un método, se mostrará la sobrecarga actual correspondiente.

Consejos de inserción para los métodos Ruby basados en RBS

RubyMine ahora muestra consejos de inserción para el código Ruby, basados en las firmas de tipo de los archivos RBS correspondientes. Al hacer clic en un consejo, se accede a la firma de tipo correspondiente.

Un arreglo rápido para las firmas de tipos no coincidentes

RubyMine informa de los tipos inferidos en el código Ruby que no coinciden con el tipo esperado de RBS. A partir de la versión 2022.1, puede navegar rápidamente hasta el archivo RBS correspondiente en estos casos.

Mejora del autocompletado de la etiqueta YARD @overload

RubyMine entiende la etiqueta @overload y sugerirá todas las sobrecargas declaradas al mostrar la información de los parámetros. A partir de esta versión, el autocompletado de la etiqueta @overload añade el nombre de un método que está describiendo.

Experiencia de usuario

Cuadro de diálogo de New Project rediseñado

Hemos rediseñado la interfaz del cuadro de diálogo New Project para agilizar la creación de nuevos proyectos tanto para los recién llegados como para los usuarios experimentados.

Compatibilidad con las nuevas opciones generate de Rails 7

Esta compilación añade compatibilidad con las nuevas opciones de marco de trabajo de JavaScript para la generación de proyectos que se añadieron en Rails 7. Ahora puede seleccionarlos al crear un nuevo proyecto mediante el cuadro de diálogo New Project.

Nueva ventana de herramientas Notifications

Hemos sustituido el Event Log por una nueva ventana de la herramienta Notifications. Esta le ayudará a mantener una mejor visión general de las notificaciones del IDE para que no se pierda nada importante. Todas las notificaciones que aparecen en la ventana de herramientas ahora se dividen en dos categorías: Suggestions y Timeline.

Actualización del cuadro de diálogo Open File or Project

Hemos eliminado el árbol del cuadro de diálogo Open File or Project, lo que significa que el IDE ya no calcula todos los nodos de directorio intermedios al abrirlo. Este cambio mejora el rendimiento general del IDE al evitar que se cuelgue durante mucho tiempo a causa de cálculos de rutas sin salida.

Etiquetas de pestañas ocultas en el depurador

Para maximizar el espacio utilizable en la ventana de herramientas Debugger, hemos ocultado las etiquetas de las pestañas de forma predeterminada.

Se ha actualizado el cuadro de diálogo Structural Search and Replace

Hemos rediseñado el cuadro de diálogo Structural Search and Replace para que indique una lista de todas las plantillas para que resulte más fácil navegar entre ellas.

Editor

Nueva opción de formato para sangrar los modificadores de visibilidad

Ahora puede configurar la sangría para los modificadores de visibilidad(public, protected, private) y el código que contienen. Encontrará esta configuración en Preferences/Settings | Editor | Code Style | Ruby | Tabs and Indents y usando la casilla de verificación Indent visibility modifiers.

Reformateo de código en modo LightEdit

El modo LightEdit le permite editar sus archivos sin crear ni cargar un proyecto completo. Ahora puede reformatear su código desde el modo LightEdit. Para ello, pulse Ctrl+Alt+L o vaya a Code | Reformat Code en el menú principal.

Ejecutar comandos desde archivos Markdown

Hemos añadido un nuevo icono del medianil para los archivos Markdown, junto a los comandos de shell. Haga clic en él para ejecutar un comando en el terminal integrado de RubyMine. Esto puede ser útil cuando se siguen manuales como los archivos README, que a menudo contienen comandos de shell.

Copiar fragmento de código para Markdown

Ahora puede utilizar la nueva acción Copy code snippet para copiar el contenido de un bloque en el portapapeles.

Más acciones en la barra de herramientas del editor Markdown

Nuevas opciones en la barra de herramientas flotante que aparecerá en la selección de texto al editar archivos Markdown. Con esta barra de herramientas, ya puede seleccionar rápidamente estilos de cabecera y crear listas.

Pruebas

Navegación a contextos compartidos y ejemplos en RSpec

Ahora puede navegar desde sus especificaciones hasta los contextos compartidos y los ejemplos compartidos utilizados en ellos. Para ello, pulse Ctrl+clic en una declaración que añada un recurso compartido: include_context, include_examples, it_behaves_like o it_should_behave_like.

Docker

Nueva interfaz de usuario de la vista Services

Hemos renovado en gran medida la interfaz de usuario de Docker en la ventana de herramientas Services. Las novedades se han implementado para contenedores, imágenes, redes y volúmenes.

Compatibilidad con Docker Registry V2

También hemos añadido compatibilidad con la API Docker Registry HTTP V2 para utilizarla con Docker 1.6+. Puede crear registros Docker V2 simples o protegidos por contraseña y realizar todas las acciones habituales como ver, hacer push y pull de imágenes.

Control de versiones

Actualización de Annotate with Git Blame

Hemos mejorado la funcionalidad de Annotate with Git Blame para que sea más fácil investigar los cambios introducidos. RubyMine resalta las diferencias entre las líneas en el editor cuando pasa el ratón por encima de una anotación, y puede abrir la ventana de herramientas Git Log haciendo clic en la anotación.

Git File History: nueva interfaz de usuario sin índice

La nueva interfaz de usuario de la ventana de herramientas Git File History es ahora independiente del proceso de indexación. Los datos se representan con una nueva interfaz, incluso si el índice de Log está desactivado.

Web y marcos de trabajo

Mejor compatibilidad con Next.js

Gracias a la compatibilidad con React incorporada, todas las funcionalidades clave ya deberían estar funcionando en sus proyectos Next.js. RubyMine 2022.1 añade compatibilidad con algunos aspectos específicos del marco de trabajo, como las páginas. El IDE resolverá las rutas utilizadas en la propiedad href de sus componentes de enlace, así como en form y otras etiquetas. La finalización de código, la navegación y las refactorizaciones ahora también funcionan.

Compatibilidad con Volta

En esta versión, hemos añadido una integración adecuada con Volta, un gestor de herramientas de JavaScript. RubyMine reconocerá automáticamente Yarn y npm instalados con Volta.

Otras mejoras

  • Para facilitar la navegación por la pestaña Log, el lector de pantalla ahora lee los nombres y descripciones de los árboles de las ramas.
  • Se ha mejorado la compatibilidad con la accesibilidad para usuarios de macOS. Hemos resuelto el problema de VoiceOver que provocaba múltiples repeticiones innecesarias de elementos de la lista. Además, ahora VoiceOver puede leer listas de cuadros combinados y hemos corregido la posición incorrecta del cursor de VoiceOver cuando se trabaja en una pantalla externa.
  • Ahora es más fácil trabajar con los cambios sugeridos. Hemos añadido la posibilidad de aplicar o confirmar cambios localmente directamente desde el IDE.
  • Al trabajar con bases de datos, ahora puede seleccionar varias tablas y copiarlas en otro esquema.
  • Hemos introducido una nueva intención para trabajar con consultas de bases de datos: Convert To Subquery. Ahora no es necesario ni siquiera seleccionar una consulta; simplemente pulse Alt+Intro| Convert To Subquery.
  • Hemos añadido la compatibilidad con la lógica de resolución de las superclases RBS, que se ha actualizado para hacerla coherente con Ruby: RUBY-29164.
  • Hemos eliminado la compatibilidad con Rails 3.
  • La palabra clave extend añade métodos a una clase singleton, y no debería tener acceso a variables de tipo. RubyMine muestra ahora un error cuando se intenta utilizar variables de tipo con extend: RUBY-29099.
  • Hemos actualizado el panel Commit Details en la ventana de herramientas Git. Ahora incluye información sobre las firmas GPG y el estado del build. Anteriormente, estos datos se mostraban solo como una columna en el Git Log.
  • Hemos añadido la compatibilidad con Corepack, una herramienta experimental de Node.js que le permite usar Yarn y pnpm sin tener que instalarlos. Si desea probarlo, asegúrese de ejecutar corepack enable en el terminal integrado; la función no está activada de forma predeterminada.
  • La finalización de CSS de Tailwind ahora funciona en las plantillas de FreeMarker.
  • Hemos eliminado las plantillas de archivos HTML4 y XHTML, ya que no se utilizaban mucho.
  • La asistencia a la codificación de webpack ahora funciona con los módulos ES en sus archivos webpack.config.js.
  • El formateador de línea de comandos ahora es compatible con el modo de ejecución sin repeticiones para validar los archivos de proyecto.
  • Ahora puede configurar las pestañas divididas para que tengan la misma anchura. Para ello, marque la nueva opción Equalize proportions in nested splits en Preferences / Settings | Advanced Settings.
  • Ahora se pueden exportar diagramas UML como archivos yEd .graphml, JGraph .drawio, Graphviz .dot, Graphviz .dot con posiciones, Mermaid .md, Plantuml, e IDEA .uml, lo que los hace compatibles con herramientas de terceros. Para exportar, utilice la acción correspondiente del menú contextual disponible al hacer clic con el botón derecho.