Novedades de RubyMine 2019.2

RubyMine 2019.2 añade compatibilidad con Rails 6 y Ruby 2.7, mejora la compatibilidad con YARD y el depurador, e incorpora muchas mejoras a la plataforma.

Depurador

Comparación de velocidad de depuradores: v2019.1 y v2019.2

Depurador más rápido

Nuestro depurador utilizaba TracePoint :line para hacer el seguimiento de la ejecución del programa línea por línea. Para la v2019.2, hemos diseñado una extensión nativa para MRI que permite al depurador elegir en qué fragmentos de código debe suspenderse la ejecución y evitar que el resto del código se sobrecargue. Como resultado de ello, hemos logrado acelerar enormemente el depurador e implementar las nuevas funcionalidades que indicamos a continuación.

Smart Step Into

Smart Step Into

Antes, si usted se encontraba con una línea con muchos métodos en una sesión de depuración, RubyMine solo podía entrar al primer método de una línea. La nueva función Smart Step Into (entrar en el código de forma inteligente) quita esta restricción y le permite entrar a investigar cada método particular o una llamada de bloque ubicada en la misma línea.

Puntos de interrupción de bloque

Puntos de interrupción de bloque

Con la nueva versión, puede definir puntos de interrupción ya no solo en líneas, sino también en bloques. Cuando haga clic en medianil izquierdo para definir un punto de interrupción en una línea que contenga un bloque, RubyMine le preguntará si desea definir un punto de interrupción en una línea, bloque, o ambos.

Consulte la guía Depuración en RubyMine para obtener más información sobre cómo depurar scripts de Ruby y Rails en RubyMine.

Ruby 2.7

Concordancia de patrones

RubyMine 2019.2 acepta la Concordancia de patrones, que venía incluida en la primera vista previa de Ruby 2.7 como funcionalidad experimental. El IDE identifica la nueva sintaxis y le ayuda a navegar, buscar usos y renombrar los objetos.

Más información sobre Concordancia de patrones en Ruby

Parámetros de bloques numerados

Parámetros de bloques numerados

La nueva versión de RubyMine reconoce la sintaxis de los parámetros numerados y muestra/busca sus usos. Esta es otra funcionalidad experimental de Ruby 2.7 que le permite asignar valores a bloques usando un número de parámetro como parámetro predeterminado, en vez de definir una variable de bloque.

Rails 6

Compatibilidad con Action Mailbox

Action Mailbox

RubyMine 2019.2 es compatible con Action Mailbox, que se lanzará con Rails 6. El IDE sugiere completar automáticamente retiradas (callbacks) y métodos de enrutamiento, y navega entre sus implementaciones y usos.

Inspecciones de Action Mailbox

También añadimos un par de inspecciones que le permiten saber si se ha olvidado de añadir una llamada de enrutamiento en ApplicationMailbox y un método de proceso en su casilla de correo. Lo anterior también ofrece un arreglo rápido.

Más información acerca de cómo usar Action Mailbox en este episodio detallado de GoRails.

Compatibilidad con Enum

Añadimos una correcta compatibilidad para información del código para ActiveRecord::Enum. Esto incluye el autocompletado de código, navegación y búsqueda de usos para nombres y métodos de enum. También se admiten los ámbitos negativos (negative scopes) para enums, introducidos en Rails 6.

YARD

Compatibilidad mejorada con YARD

Compatibilidad mejorada con YARD

Estamos mejorando gradualmente nuestra compatibilidad con YARD para ayudarle a crear y gestionar etiquetas YARD y obtener un mejor autocompletado en RubyMine en base a las anotaciones de YARD. La nueva versión añade inspecciones y anotaciones de tipo para etiquetas @overload y @yieldparam.

Consulte Compatibilidad de RubyMine con YARD para una vista detallada de las funcionalidades de RubyMina y las nuevas mejoras en torno a YARD.

Factory Bot

Renombrar factories

Renombrar factories

Con v2019.2 puede renombrar (Mayús+F6) factories, secuencias y características. El IDE encuentra sus definiciones y sugiere renombrarlo y todos sus usos, así como el nombre del archivo si coincide con el nombre del factory.

También añadimos factories, secuencias y características a la vista de File Structure (Estructura de archivos) (Alt+F7) y a sus ventana emergente (Ctrl + F12), y añadimos la habilidad de eliminarlos de forma segura (Refactor | Safe Delete).

JavaScript

Intenciones de desestructuración

Nuevas acciones de intención

Con la nueva intención Propagate to destructuring (Alt+Intro), podrá sustituir una variable extra con otra desestructuración, de ser posible. Para eliminar completamente una desestructuración, utilice la acción de intención llamada Replace destructuring with property or index access (Reemplazar desestructuración con acceso al índice o a propiedades).

Usos dinámicos en la Vista previa de refactorización

Refactorización Rename mejorada

Ahora, al cambiar el nombre de un símbolo en JavaScript o TypeScript, el IDE agrupa usos dinámicos y, de forma predeterminada, los excluye de la refactorización. De esta forma, la refactorización es más precisa y le ofrece mayor control sobre qué, específicamente, hay que cambiar de nombre en la ventana de herramientas de Refactoring Preview.

Accesorios Vuetify

Mejor compatibilidad con bibliotecas de componentes de Vue.js.

La finalización de código para componentes y sus accesorios de Vuetify, BootstrapVue, Quasar y algunas otras bibliotecas de componentes Vue es ahora más precisa. Esto ha sido posible gracias a un nuevo enfoque que hemos adoptado para trabajar con estas bibliotecas en el IDE.

Inspección de código duplicado

Buscando código duplicado

La nueva inspección de Fragmentos de código duplicados verifica su código sobre la marcha y resalta inmediatamente los potenciales duplicados en el editor. Funciona en JavaScript, TypeScript, CSS, Sass, SCSS y Less.

Consulte Novedades de WebStorm para obtener información acerca de más mejoras de JavaScript disponibles en RubyMine 2019.2.

Estilo de código

Edite configuraciones de estilo de código

Compatibilidad mejorada con EditorConfig

Con v2019.2 puede mantener distintos estilos de código en distintas partes de sus proyectos con solo añadir varios archivos .editorconfig. Además de las opciones estándar de EditorConfig, que hace tiempo que son compatibles, ahora puede usar propiedades específicas de IDE que cubren todas las opciones de estilo de código de IDE.

Scripts de Shell

Edición de scripts de shell

Editar scripts de shell

La nueva versión agrega compatibilidad para programación shell. Esto incluye finalización de código, documentación rápida, cambio de nombre textual para archivos .sh y .bash y configuraciones de ejecución para programación shell. El IDE también se integra con ShellCheck para análisis lint y shfmt para formateo de código.

Git

Autocompletado .gitignore

Completado automático en .gitignore

En archivos .gitignore, el IDE ahora ofrece sugerencias de finalización de código para archivos y carpetas. Pulse Ctrl + clic sobre el nombre para ir directamente a ese archivo o carpeta en la ventana de herramienta Project. También puede agregar archivos rápidamente a .gitignore desde la vista Project y desde la pestaña Local Changes (Cambios locales): haga clic derecho sobre el mismo y seleccione Add to .gitignore (añadir a .gitignore).

Herramientas para bases de datos

Mejoras de las herramientas para bases de datos: Búsqueda de texto completo

Buscar datos con búsqueda de texto completo

Ahora puede buscar datos en sus bases de datos incluso si no conoce dónde se encuentran. Haga clic con el botón derecho en la fuente de datos que desea buscar y seleccione Full-text Search (Ctrl+Alt+Shift+F). Los resultados de su búsqueda se filtrarán para mostrar únicamente las cadenas en las que se hayan encontrado los datos.

Consulte Novedades de DataGrip para obtener información sobre otras mejoras de base de datos también disponibles en RubyMine 2019.2.

Otras mejoras

  • Compatibilidad con gema estándar
  • Compatibilidad con Action Text
  • Compatibilidad con Cucumber 4
  • Mejoras menores de la interfaz gráfica en la ventana de herramienta de Control de versiones