Novedades de RubyMine

2019.2 (29 de julio)

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. Vea abajo todas las novedades y actualícese a la nueva versión hoy. ¡También le animamos a que nos informe sobre cualquier problema y se una a RubyMine Slack!

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 el 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, un 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 admite 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 la 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) (Cmd/Alt+F7) y a sus ventana emergente (Cmd/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.

Programación 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 Cmd o 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 derecho en la fuente de datos en la que desee buscar y seleccione Full-text Search (Ctrl+Alt+Mayús+F / Cmd+Alt+Mayús+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
2019.1 (4 de abril)

Docker

Docker-compose exec

Replantéese Docker con docker-compose exec

RubyMine incluye compatibilidad con
docker-compose exec. En resumen, al activarlo, este comando le permite ejecutar y depurar aplicaciones, instalar gemas y llevar a cabo otras tareas de desarrollo más rápido que antes.

Para obtener más detalles, consulte Cómo trabajar con Docker/Docker Compose desde RubyMine.

Experimental: Run with docker compose.

Acelere RubyMine

En Funcionalidades experimentales, active ruby.docker.internal.via.exec para acelerar RubyMine cuando trabaje con un Docker SDK.

Ahora puede añadir gemas, ejecutar tareas Rake, comandos Rails y otras cosas que actualizan su entorno, sin tener que crear de nuevo imágenes de Docker.

Ubicaciones recientes

Ubicaciones recientes

Ventana emergente de ubicaciones recientes

La nueva ventana emergente de ubicaciones recientes reinventa el modo en que navega por su base de código. Esta ventana emergente le ayuda a encontrar el código real cuando solo recuerda sobre qué iba, pero no tiene ni idea de dónde lo había visto. Comience a escribir para filtrar los resultados y saltar a la parte de código que necesita.

Para obtener más información, consulte RubyMine Navigation: Recent Locations Popup.

Perfilador

Crear traducciones de i18n

Aplicaciones de generación de perfiles

RubyMine 2019.1 integra rbspy y proporciona un generador de perfiles nativo para ayudarle a descubrir partes del código que ralentizan su aplicación o sus pruebas.

Consulte el tutorial detallado en Perfilar aplicaciones de Ruby & Rails con rbspy en RubyMine.

Integrar un perfilador en una aplicación en ejecución

Integrar en aplicaciones en ejecución

Recuerde que puede integrar el perfilador (Find action / Attach Profiler to Process) a su aplicación en ejecución ¡e investigarla en tiempo real!

Factory Bot

Autocompletar y navegar atributos

Al añadir una Factory, RubyMine autocompleta sus atributos y, si es posible, también sus valores. Por ejemplo, para una factory de modelos Rails, el IDE autocompletará sus campos con su contenido e incluso con asociaciones. Y, por supuesto, puede navegar entre las definiciones y usos de esos objetos.

Métodos de creación de factory completos en archivos de prueba

Autocompletar y navegación de métodos

Cuando escribe pruebas, puede autocompletar y navegar a las definiciones de métodos de creación de factory, como create, build, build_stubbed y otros.

También es totalmente compatible con otras características geniales de Factory Bot, como secuencias, características y alias.

Integración completa con MVC

También hemos añadido factories a la ventana emergente de Related files (Navigate / Related symbol) y hemos añadido un medianil que le permite ir a las declaraciones de factory parciales, si las hay.

Jerarquía de llamadas

Jerarquía de llamadas

Investigar llamadas a método

La nueva acción Call Hierarchy le ayuda a buscar en los métodos (“callers”) que usan el método que está investigando, los métodos que llaman estos callers, y llegar hasta la profundidad que necesite.

Para obtener más información, consulte este artículo de blog.

TruffleRuby

TruffleRuby

Compatibilidad con TruffleRuby

¡RubyMine 2019.1 incorpora compatibilidad con TruffleRuby! Para cambiar su SDK actual de Ruby a TruffleRuby, asegúrese de tener instalado el intérprete y selecciónelo en la configuración del SDK de Ruby.

Por cierto, en esta versión también hemos resuelto muchos problemas con administradores de versiones de Ruby.

JavaScript

TypeScript en Vue

Soporte mejorado para TypeScript en aplicaciones Vue

RubyMine utiliza ahora el servicio de lenguaje TypeScript junto con su propia compatibilidad con TypeScript para cualquier código TypeScript en archivos .vue. Esto significa que logrará una comprobación de tipo e información de tipo más precisas, podrá usar los arreglos rápidos que ofrece el servicio y ver todos los errores de TypeScript en el archivo actual en la ventana de la herramienta de TypeScript.

Destacar errores en las pruebas

Resaltado de línea con fallos en la prueba

Cuando ejecute pruebas con Jest, Karma, Mocha o Protractor y algunas pruebas fallen, ahora podrá ver directamente en el editor dónde se encuentra el problema. El IDE utilizará la información de la traza de pila y resaltará el código que ha fallado. Al colocar el puntero del ratón sobre él, verá el mensaje de error del ejecutor de pruebas y podrá empezar a depurar la prueba inmediatamente.

Nueva consula depuradora

Nueva consola depuradora

¡Descubra la nueva y mejorada consola de depuración interactiva en las ventanas de la herramienta de depuración de JavaScript y Node.js! Ahora muestra objetos a través de una vista de árbol y permite aplicar estilos a mensajes de registro con CSS y agruparlos usando console.group() y console.groupEnd(). También puede filtrar para ocultar cualquier tipo de mensaje de registro.

Nueva consula depuradora

Finalización para scripts npm

Al añadir nuevos scripts al archivo package.json, el IDE ahora ofrece sugerencias para los comandos disponibles proporcionadas por los paquetes instalados. Después de escribir node, el IDE sugerirá nombres de carpeta y de archivo. Y después de escribir npm run, verá una lista de tareas definidas en el archivo actual.

Consulte Novedades de WebStorm para obtener más información sobre las mejoras de JavaScript disponibles en RubyMine 2019.1.

HTML & CSS

HTML y CSS

Documentación actualizada

La documentación (F1) para las propiedades CSS y las etiquetas y atributos HTML ahora muestran descripciones actualizadas e información sobre la compatibilidad del navegador desde MDN, así como enlaces a los artículos de MDN completos.

Temas personalizados

Temas personalizados

Nuevos temas de la IU

Ahora puede usar los nuevos temas de colores de la IU en RubyMine que están disponibles como complementos. Escoja entre los temas Dark Purple (morado oscuro), Gray (gris) y Cyan Light (cian claro), o cree sus propios temas.

Herramientas para bases de datos

Mejoras de las herramientas para bases de datos – Nuevas fuentes

Las herramientas para bases de datos de RubyMine presentan algunas mejoras geniales gracias a nuestros colegas del equipo de DataGrip:

  • Compatibilidad con nuevas bases de datos: Greenplum, Vertica y Apache Hive
  • La finalización de código es compatible con declaraciones combinadas para CREATE y DROP
  • Compatibilidad con atributos DEFINER en MySQL y MariaDB
  • Compatibilidad con el modo Oracle en MariaDB
  • Ahora puede configurar la carpeta por defecto para un proyecto

Otras mejoras:

  • Posibilidad de ejecutar y depurar pruebas con Spring
  • Asociaciones polimórficas: parámetros source y source-type compatibles
  • Especifique gemfiles alternativos utilizando bundle.config
  • Especifique la ruta a las gemas locales utilizando bundle.config
  • I18n: compatibilidad con la opción predeterminada
  • Compatibilidad mejorada con métodos de campos de consulta en modelos Rails
2018.3 (22 de noviembre)

Información del código

Compatibilidad con rangos de Rails

Rangos de Rails

El IDE ahora entiende mucho mejor los rangos de Rails. Por ejemplo, cuando añade un objeto de asociación a su rango, RubyMine sugerirá los métodos de búsqueda disponibles. También descubrirá el autocompletado de código y la navegación para rangos encadenados.

Compatibilidad con Struct

Struct

RubyMine añade compatibilidad completa con Struct. Ahora puede autocompletar, navegar y refactorizar objetos de las clases Struct de la misma manera que lo hace con cualquier otra clase de Ruby y sus instancias.

Análisis Nullability para Ruby

Análisis Nullability para Ruby

Una nueva inspección Nil dereference verificará su código para detectar posibles errores nulos en el contexto actual, como cuando llama a un método en una variable que podría ser nula.

Internacionalización

Crear traducciones de I18n

Utilice el nuevo cuadro de diálogo de I18n para crear traducciones para todos sus diccionarios a la vez. Al igual que antes, coloque el signo de intercalación en una cadena, presione Alt+Intro y elija internacionalizarla. Luego, una vez generada, mantenga presionado Cmd/Ctrl y haga clic en la clave creada para navegar a cualquier traducción existente.

Alcances y lazy keys

También puede crear traducciones para claves con espacios de nombres y búsquedas diferidas sin esfuerzo adicional, ya que la nueva versión de RubyMine le permite crear traducciones para tales claves directamente desde el editor.

Vistas previas de la traducción

RubyMine puede mostrarle traducciones reales en lugar de claves I18n; simplemente presione Cmd./Ctrl. en cualquier tecla de un controlador o un archivo de vista. Incluso puede elegir qué diccionario debe utilizarse como vista previa de traducción.

Lea funcionalidades i18n en RubyMine para ver otras mejoras de internacionalización realizadas en v2018.3.

Refactorización

Nuevo cuadro de diálogo Extraer Parámetro

Extraer parámetro

El nuevo cuadro de diálogo Extraer parámetro (Refactor | Refactor this | Extract Parameter) le permite no solo extraer un argumento, sino también proporcionar un valor predeterminado, hacerlo opcional o pasarlo como un bloque.

Mejoras de refactorización inline

Refactorización inline mejorada

Hemos mejorado la refactorización Inline para permitirle deshacerse de métodos y variables excesivos de forma más segura. En particular, los métodos de inline con argumentos y variables con interpolación de cadenas son ahora mucho más robustos.

Extraer subcadenas a variables y constantes

Extraer subcadenas a variables y constantes

Finalmente, hemos añadido una habilidad muy útil para extraer partes de cadenas a variables y constantes.

Lea más sobre opciones de refactorización en RubyMine Refactorings: Overview & Improvements.

Nuevas acciones de intención

Acciones de intención

Las nuevas acciones de intención le ayudarán a hacer que su código sea más legible. Por ejemplo, ahora puede usar la intención de la ley de De Morgan para simplificar negaciones desagradables y extraer llamadas de bloque a métodos. Simplemente coloque el símbolo de intercalación en una hediondez del código y presione Alt+Intro para aplicar un arreglo rápido adecuado.

Lea más sobre otras nuevas intenciones en Acciones de Intención en RubyMine.

Pruebas

Pruebas de medianil

Pruebas de medianil

RubyMine 2018.3 también ha incorporado un útil medianil en cada método de prueba. Estos medianiles son anclajes visuales que le muestran cada prueba en particular que se puede ejecutar en un archivo. También ofrecen una forma más rápida de ejecutar pruebas que la que proporciona el menú contextual.

Lea Ejecutar pruebas en RubyMine para aprender más sobre funcionalidades de prueba útiles.

Git

Solicitudes de extracción de GitHub

Ver solicitudes de extracción

Ahora puede ver las solicitudes de extracción de GitHub dentro de RubyMine. Ir a VCS | Git | View Pull Requests para ver la descripción de la solicitud de extracción, las etiquetas, las asignaciones y los cambios reales.

Además, todas las funcionalidades familiares en la integración de Git, como actualizar proyecto, confirmar cambios, ver diferencias y resolución de conflictos, ahora funcionan con submódulos de Git.

Interfaz de usuario

Nuevo esquema de color Darcula

Darcula renovado

El nuevo tema Darcula elimina los colores chillones, es más fácil de visualizar y se alinea mejor con esquemas similares diseñados para otros lenguajes de programación en los IDEs de JetBrains.

El Darcula previo todavía está disponible. Si prefiere seguir utilizándolo, vaya a Preferences / Settings | Editor | Color Scheme | Ruby, haga clic en el icono con forma de engranaje y elija Transform current scheme to Darcula 2018.2.

Nuevo cuadro de diálogo Buscar en Todas Partes

Search Everywhere

También descubrirá el nuevo y más práctico cuadro de diálogo Search Everywhere (Mayús+Mayús). El cual facilita el uso de todos los demás diálogos de navegación: Go to Class, File, Symbol, y Action. Simplemente presione Tab para cambiar entre los tipos de búsqueda.

Nuevo complemento de la interfaz de usuario

Interfaz de usuario de complementos

La sección actualizada de complementos (Preferences / Settings | Plugins) facilita la administración, instalación, desinstalación y actualización de complementos. Por ejemplo, ahora puede buscar complementos por etiquetas y ordenar los resultados por descargas, nombre, clasificación, funcionalidades o actualizaciones.

JavaScript

Finalización mejorada en plantillas Angular

Marcos de trabajo

A medida que trabaja con Angular, disfrute de autocompletado y navegación de código para variables, tuberías y tuberías asíncronas y las variables de referencia de la plantilla.

En las aplicaciones React. la finalización de código ahora sugiere todos los métodos del ciclo de vida de los componentes. La inspección Unresolved variable le advierte sobre los componentes posiblemente indefinidos.

Importaciones automáticas a JavaScript

Importaciones automáticas a JavaScript

En los archivos JavaScript, el IDE puede ahora añadir las importaciones automáticamente, no solo para los símbolos definidos en su proyecto, sino también para los símbolos de las dependencias del proyecto. Esto funciona si la biblioteca tiene fuentes escritas como módulos ES o un archivo de definición de tipo TypeScript.

Extracción de conjunto de reglas CSS

HTML y Hojas de estilo

La nueva acción Extract ruleset ( Alt-Enter ) le ayuda a extraer rápidamente declaraciones CSS de un conjunto de reglas a uno nuevo, más específico.

El estilo de código para CSS y sus preprocesadores ahora tienen una configuración para el uso de líneas en blanco. Además, ahora puede ordenar las propiedades CSS dentro de los bloques, alfabéticamente o en cualquier orden personalizado.

Ver Novedades de WebStorm para más información sobre las mejoras de JavaScript disponibles en RubyMine 2018.3.

Markdown

Mejoras de Markdown

Extraer enlaces de referencia y más

La nueva acción Introduce reference le ayuda a crear referencias para enlaces inline. El IDE encontrará todos los enlaces duplicados en el archivo y sugerirá reemplazarlos con la referencia recién creada.

Además, ahora puede tachar el texto y cambiar el tamaño del encabezado. Estas nuevas acciones se encuentran en la barra de herramientas.

Otras mejoras:

  • Resaltado de palabras clave mejorado en declaraciones condicionales
  • Búsqueda de valores YAML mediante claves anidadas aplanadas
  • Copia una ruta a un valor YAML desde las rutas de navegación
  • Compatibilidad mejorada para attr_accessors
  • Consejos sobre parámetros en archivos JavaScript
  • Tema de alto contraste
  • Eliminación segura en i18n
  • Monitor de actividad