3  Configuración recomendada de VSCode para R

Palabras clave

Configuraciones de R en VSCode, las mejores configuraciones de VSCode para R, Programación R en VSCode, linting código R, formatear código R en VSCode

3.1 Introducción

Este capítulo se centra en las configuraciones recomendadas para ayudarle a sacar el máximo provecho de su experiencia de desarrollo de R en VSCode. Desde atajos esenciales hasta opciones de personalización avanzadas, estas configuraciones mejorarán la productividad, mantendrán la consistencia del código y crearán un entorno de desarrollo más eficiente.



3.2 Atajos de teclado

VSCode proporciona potentes atajos que pueden hacer más eficiente la programación en R. Estos son algunos de los atajos más útiles para el desarrollo de R:

  • Insertar fragmento de código (Quarto): Pulse Ctrl + Mayús + I (Windows/Linux) o Cmd + Mayús + I (Mac) para insertar un fragmento de código en un archivo .qmd.
  • Ejecutar código R: Usa Ctrl + Enter (Windows/Linux) o Cmd + Enter (Mac) para ejecutar la línea o selección actual en el terminal de R.
  • Ir a la definición: Navegue rápidamente a la definición de una función pulsando F12 or Ctrl + Click.
  • Buscar y reemplazar: Utilice Ctrl + F para buscar texto y Ctrl + H para reemplazar texto dentro de su script.

3.3 Personalización del espacio de trabajo

Para los usuarios que buscan mejorar su experiencia de desarrollo más allá de la configuración inicial, hay varias personalizaciones disponibles que pueden hacer que el entorno sea más similar a editores como RStudio. Aquí, exploramos opciones avanzadas de personalización para refinar aún más su entorno de codificación.

3.3.1 Análisis de código

Linting o diagnóstico de código es el proceso de analizar código en busca de errores potenciales. VSCode soporta el linting para scripts R utilizando el paquete lintr, que comprueba la adherencia a la guía de estilo tidyverse.

Análisis de código

Para habilitar linting, instale el complemento lintr package and add the following lines to your VSCode settings.json:

{
  "r.lsp.diagnostics": true
}

Personalización del comportamiento de Linting: Puede personalizar el comportamiento de linting editando la configuración global lintr config file at ~/.lintr, or a project-specific config file at ${workspaceFolder}/.lintr.

Configuración recomendada: La siguiente configuración comienza con los linters por defecto y modifica algunos ajustes para adaptarse mejor a los flujos de trabajo comunes.

Contenido del archivo ~/.lintr:

# La longitud de línea por defecto (80) se cambia a 120
linters: linters_with_defaults(
  line_length_linter(120), 
  object_usage_linter = NULL,
  commented_code_linter = NULL
  )

Esta configuración desactiva commented_code_linter y object_usage_linter para reducir falsos positivos en ciertos escenarios.

3.3.2 Formateo de código

Análisis de código se complementa con el paquete styler, que rediseña automáticamente el código para hacerlo más legible y coherente. Para habilitar el formateo de código para scripts R en VSCode, instale el programa styler package and add these lines to settings.json:

{
  "[r]": {
    "editor.defaultFormatter": "REditorSupport.r",
    "editor.formatOnSave": true
  },
  "[rmd]": {
    "editor.defaultFormatter": "REditorSupport.r",
    "editor.formatOnSave": true
  }
}
Precaución

Establecer editor.formatOnSave a true formateará automáticamente el código cuando guardes el archivo, pero esto puede ser lento para scripts grandes. Si es necesario, deshabilite esta función y utilice Format Document manualmente.

Formateo de código

3.3.3 Selección de código

Para mejorar la selección de texto para archivos R, especialmente para variables con puntos (p.e, names.like.this), modify VSCode’s settings by adding this snippet to your settings.json:

"[r]": {
    "editor.wordSeparators": "`~!@#%$^&*()-=+[{]}\\|;:'\",<>/?"
}

Elimina el punto (.) de la lista de separadores de palabras, facilitando la selección de nombres de variables completos.

3.3.4 Envío de código a R Terminal

Para facilitar el envío de código al terminal de R, añada las siguientes líneas a su settings.json:

{
  "r.alwaysUseActiveTerminal": true,
  "r.bracketedPaste": true,
  "r.sessionWatcher": true
}
  • r.alwaysUseActiveTerminal`: Asegura que el código se envía siempre al terminal activo, útil cuando se trabaja con múltiples sesiones de R.
  • r.bracketedPaste: Facilita la transferencia de grandes trozos de código distinguiendo el texto pegado del texto tecleado.
  • r.sessionWatcher: Se adjunta automáticamente a la sesión de R cuando se crea un nuevo terminal de R, proporcionando una mejor integración.

Estado del Session Watcher

3.3.5 Configuración del perfil de R

El archivo .Rprofile se utiliza para establecer configuraciones para nuevas sesiones de R. Para configurar el perfil de R para VSCode, añada las siguientes líneas a su archivo .Rprofile .Rprofile:

# # Configuración de R Session watcher.
# Ver más detalles: https://github.com/REditorSupport/vscode-R/wiki/R-Session-watcher
# fuente: https://renkun.me/2020/04/14/writing-r-in-vscode-working-with-multiple-r-sessions/
if (interactive() && Sys.getenv("RSTUDIO") == "") {
  Sys.setenv(TERM_PROGRAM = "vscode")
  fuente(file.path(Sys.getenv(
    if (.Platform$OS.type == "windows") "USERPROFILE" else "HOME"
  ), ".vscode-R", "init.R"))
}

# Configuración del visor de gráficos
# Fuente: https://github.com/REditorSupport/vscode-R/wiki/Plot-viewer#svg-in-httpgd-webpage
if (interactive() && Sys.getenv("TERM_PROGRAM") == "vscode") {
  if ("httpgd" %in% .packages(all.available = TRUE)) {
    options(vsc.plot = FALSE)
    options(device = function(...) {
      httpgd::hgd(silent = TRUE)
      .vsc.browser(httpgd::hgd_url(history = FALSE), viewer = "Beside")
    })
  }
}


# Habilitar el soporte del complemento Rstudio
# Fuente: https://github.com/REditorSupport/vscode-R/wiki/RStudio-addin-support
options(vsc.rstudioapi = TRUE)

3.4 Conclusión

Aplicando estas configuraciones recomendadas, puedes crear un entorno altamente optimizado para la programación de R en VSCode. Ya sea que esté enfocado en mejorar la productividad, mantener un formato consistente o mejorar la integración, estas configuraciones mejorarán significativamente su experiencia de desarrollo en R.