RStudio v0.99 Preview: Completar el código

publicado en: rstudio | 0

Estamos ocupados trabajando en la próxima versión de RStudio (v0.99) y esta semana escribiremos un blog sobre algunas de las novedades más destacadas. Si quieres probar alguna de las nuevas características ahora, puedes hacerlo descargando la versión preliminar de RStudio.

La primera característica a destacar es una implementación totalmente renovada de la finalización de código para R. Siempre hemos apoyado una forma limitada de finalización, sin embargo (a) sólo funcionó en objetos del entorno global; y (b) sólo funcionó cuando se solicitó expresamente a través de la tecla de tabulación. Como resultado, no hubo suficientes usuarios que descubrieran o se beneficiaran de la finalización del código. En esta versión, la finalización del código es mucho más completa.

Motor de terminación más inteligente

Anteriormente RStudio sólo completaba las variables que ya existían en el entorno global, ahora la finalización se hace en base al análisis del código fuente, por lo que se proporciona incluso para los objetos que no han sido evaluados completamente:

También se proporcionan los datos completos para una amplia variedad de contextos especializados, incluidos los nombres de las dimensiones en [ y [[:

RStudio ahora proporciona terminaciones para los argumentos de función dentro de las cadenas de función usando el operador % de magrittr$0027s, para, por ejemplo, tuberías de transformación de datos dplyr. Extendiendo este comportamiento, también proveemos las terminaciones apropiadas para los diversos $0027verbos$0027 usados por dplyr:

Además, ciertas funciones, como library() y require(), esperan nombres de paquetes para ser completados. RStudio infiere automáticamente si una función particular espera un nombre de paquete y proporciona esos nombres como resultados de la terminación:

La finalización es ahora también S3 y S4 consciente. Si RStudio es capaz de determinar a qué método se enviará una llamada de función particular, intentará recuperar las terminaciones de ese método. Por ejemplo, el método sort.default() proporciona un argumento adicional, na.last, no disponible en el genérico sort(). RStudio proporcionará terminaciones para ese argumento si el envío de S3 eligiera sort.default()

Más allá de lo que se describe arriba hay muchos más lugares nuevos donde se proveen terminaciones:

  • Para las aplicaciones de Shiny, complementaciones para los pares ui.R + server.R

  • Las terminaciones para las opciones de knitr, por ejemplo en opts_chunk$get(), se suministran ahora

  • Complementos para símbolos dinámicos dentro de .C, .Call, .Fortran, .External

Mejoras adicionales

Siempre al final

Anteriormente, RStudio sólo mostraba las terminaciones «a pedido» en respuesta a la tecla de tabulación. Ahora, RStudio mostrará proactivamente las terminaciones después de un $ o ::, así como después de un período de inactividad de escritura. Todo este comportamiento es configurable a través del nuevo panel de opciones de finalización:

Finalización de archivos

Cuando esté dentro de un proyecto de RStudio, las terminaciones se aplicarán recursivamente a todos los nombres de archivo que coincidan con el token actual. El directorio principal adjunto está impreso a la derecha:

Estrechamiento difuso

¿Tiene una terminación con un nombre excesivamente largo, tal vez un paquete de bioconductores particularmente largo, u otra variable o nombre de función de larga duración? RStudio ahora usa «fuzzy narrowing» en la lista de terminaciones, comprobando si la terminación coincide con una «subsecuente» dentro de cada terminación. Por subsiguiente, nos referimos a una secuencia de caracteres no necesariamente conectados dentro de la completación, de modo que, por ejemplo, $0027fpse$0027 podría coincidir con $0027file_path_sans_extension$0027. Esperamos que los usuarios se acostumbren rápidamente a este comportamiento y lo encuentren muy útil.

Probando

Creemos que las nuevas características de finalización hacen que la experiencia de escribir código R sea cualitativamente mejor tanto para los usuarios principiantes como para los expertos. Puedes probar las nuevas características ahora descargando la versión preliminar de RStudio. Si tiene problemas o tiene comentarios sobre cómo podríamos mejorar las cosas, háganoslo saber en nuestro Foro de Soporte.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *