Faire du R dans VSCode ? Même pas peur !

Auteur : Yohann Mansiaux
Tags : Actualités, Autour de R, Ressources
Date :

Vous avez peut-être aperçu ces derniers mois des articles de blog ou des témoignages d’utilisateurs de R ayant franchi le pas d’utiliser VSCode pour développer dans notre langage préféré.
Pour les utilisateurs exclusifs de RStudio, ce logiciel peut paraitre mystérieux (peut-être n’en avez-vous même jamais entendu parler !).

Nous allons ici tenter de chasser autant de zones d’ombre que possible, et de vous fournir les clés pour savoir si la transition est intéressante pour vous, en fonction de vos besoins.

Cet article (écrit avec VSCode évidemment ;-)) est le premier d’une série sur la programmation R dans VSCode

Nos articles sur VSCode

Comparaison RStudio / VSCode

Pour la majorité des utilisateurs de R, RStudio est depuis plusieurs années l’éditeur de code numéro 1 pour la réalisation des tâches d’analyse de données, de développement de packages ou de création d’applications shiny.

Une fois R et RStudio installés, les étapes de paramétrisation à réaliser sont inexistantes, et la navigation dans l’interface graphique est aisée, car pensée pour satisfaire les développeurs R.

La phase d’entrée dans VSCode est plus couteuse. Cela s’explique par le fait qu’il s’agit d’un éditeur de code multi-langages. C’est une de ses forces, mais c’est également un inconvénient pour un nouveau venu, car pour le rendre pleinement opérationnel pour R, il va falloir installer des outils supplémentaires et passer par une incontournable étape de configuration.

Pas de panique, ne fuyez pas tout de suite ! On va vous aider 🙂

Avant de se lancer dans l’installation et la configuration, continuons à expliquer pourquoi cela peut être difficile au début de se lancer mais aussi pourquoi nous aimons VSCode chez ThinkR.

Les difficultés pour se lancer

    • Une configuration initiale fastidieuse : pour travailler avec R et ses extensions vous aurez besoin de configurer VSCode, mais une fois cette étape réalisée, vous pourrez profiter d’une expérience optimale.
    • L’apprentissage d’une nouvelle interface : il faut accepter que l’interface VSCode ne sera jamais RStudio. Ce n’est d’ailleurs par l’objectif puisque VSCode vise à être un éditeur de code polyvalent. Si vous êtes habitués à l’interface de RStudio, la transition vers VSCode peut nécessiter un temps d’adaptation. Il va falloir apprendre à changer ses petites habitudes, les boutons ici et là sur lesquels on aimait cliquer et qui ne sont plus présents, la notion de projet RStudio qui n’existe pas dans VSCode …
=> Bonne nouvelle !

Nous sommes là pour vous aider dans les étapes d’installation et de configuration, qui ne nécessitent qu’un minimum d’expérience sur certains domaines, comme l’utilisation d’un terminal. 

La configuration que nous vous proposons permettra également une transition la moins douloureuse possible. Et avec un peu de pratique quotidienne, vous serez bientôt à l’aise avec cet outil !

Les forces de VSCode par rapport à RStudio

  • VSCode est un éditeur de développement polyvalent qui prend en charge de nombreux langages de programmation. Si vous êtes un développeur shiny, vous vous êtes probablement déjà arrachés les cheveux en tentant de faire du HTML, du CSS ou du JavaScript dans RStudio.
    La prise en charge d’autres langages se fait sans frictions dans VSCode. Par exemple, là où l’auto-complétion du code et son nidentation ne vont fonctionner que pour R dans RStudio, VSCode va nous assister sur ces tâches dans les langages énoncés précédemment.
  • VSCode est extrêmement personnalisable. On peut facilement améliorer son expérience utilisateur avec des thèmes, des icones ou une infinité de raccourcis clavier
  • VSCode dispose d’une bibliothèque d’extensions très riche. Ce sont d’ailleurs celles-ci qui vont nous permettre de faire du R confortablement.
    Sa communauté d’utilisateurs et de développeurs est conséquente; le nombre d’extensions développées est ainsi très important (ce qui laisse imaginer que l’expérience de programmation R dans VSCode va s’améliorer de mois en mois), et les possibilités de trouver de l’aide en ligne sont facilitées.
  • Une intégration étendue de Git, via des extensions dédiées, pour une gestion de projets R toujours plus robuste et efficace.

Installation

NB : Je suis utilisateur de Ubuntu 22.04 avec un VSCode configuré en anglais : les captures vidéo présentées ici sont susceptibles d’être légèrement différentes sur votre machine, en fonction de l’OS que vous utilisez et du paramétrage de VSCode.

Les outils à installer sont :

  • R 🙂
  • VSCode
  • Si vous êtes utilisateur de Windows, une installation de Python est également conseillée pour pouvoir utiliser le terminal radian dans VSCode. Ce terminal est plus performant que le terminal R classique, en offrant notamment la coloration syntaxique et l’autocomplétion.
  • Si vous êtes utilisateur de MacOS ou d’une distribution Linux, Python est a priori déjà installé. Si ce n’est pas le cas, nous vous invitons à installer la version dédiée à votre système d’exploitation (Linux, MacOS).
  • Pandoc. Si RStudio est déjà installé sur vote machine, Pandoc est a priori déjà installé.
    • Pour vous en assurer : si Pandoc est installé la commande suivante, tapée dans une console R, doit vous renvoyer TRUE : rmarkdown::pandoc_available()
  • RTools : pour les utilisateurs de Windows uniquement. Veillez à choisir la version de RTools correspondant à la dernière version de R installée sur votre machine.

Les instructions qui suivent sont fortement inspirées de l’excellente ressource disponible ici.

Si vous êtes curieux, n’hésitez pas à consulter cette ressource, nous allons néanmoins tenter de vous guider dans les nombreuses instructions répertoriées sur ce dépôt Github.

Les packages R à installer

Comme nous n’êtes pas encore lancés sur R dans VSCode, nous vous recommandons d’installer les packages suivants, soit dans RStudio si vous l’avez sur votre machine, soit directement dans le logiciel R.

# En cas d'erreur d'installation de ces packages dans R >= 4.3.1 sur Windows,
# ajoutez l'option type = "source" dans les `install.packages()`
install.packages("languageserver")
install.packages("rmarkdown")
remotes::install_github("ManuelHentschel/vscDebugger")
install.packages("httpgd")

Les extensions VSCode à installer

Pour installer une extension dans VSCode, il existe nativement un menu dédié sur le panneau de gauche.

Vous pouvez voir la quantité impressionnante d’extensions disponibles. Si vous cliquez sur une extension non installée (Kubernetes dans mon exemple), il vous sera proposé de l’installer. Si l’extension est déjà présente, il vous sera proposé de la désinstaller (comme c’est le cas pour l’extension spécifique à R dans l’exemple ci-après).

Dans le menu dédié, cherchez et installez les extensions suivantes :

  • reditorsupport.r
  • RDebugger.r-debugger

Le terminal radian à installer

Cette étape n’est pas obligatoire. Néanmoins nous vous conseillons d’utiliser radian en guise de terminal R à la place du terminal par défaut.

Le terminal radian va notamment permettre d’utiliser l’autocomplétion et va vous offrir la coloration syntaxique de votre code.

Pour cela il va falloir ouvrir notre premier terminal dans VSCode. Attention, il ne s’agit pour le moment pas d’un terminal R, mais d’un terminal PowerShell dans le cas d’une installation Windows, ou d’un terminal Bash pour les autres OS.

Quel que soit votre système d’exploitation la commande à taper sera la suivante :

pip install -U radian

Il est possible que pip ne soit pas disponible et qu’il faille l’installer. Sur Ubuntu, il faudra utiliser la commande :

sudo apt install python3-pip 

Le chemin d’installation de radian vous sera utile pour plus tard, vous pouvez le récupérer dès à présent.

Sur Windows :

where.exe radian

Sur Linux et MacOS :

which radian

Attention: dans ces terminaux, les raccourcis clavier habituels du copier-coller ne fonctionnent pas ! Pour faire un copier, mettez le chemin de radian en surbrillance et utilisez le clic droit.

Vous pouvez coller ce chemin précieusement dans un fichier texte de votre choix.

Une démo de toutes ces étapes :

Dans mon exemple l’instruction which radian ne renvoyait rien, si c’est également le cas pour vous, n’hésitez pas à consulter la vidéo ci-dessous.

La commande à taper sera de la forme :

export PATH="/home/nom_utilisateur/.local/bin/:$PATH"

Les paramètres à configurer

Encore un tout petit peu de patience, nous sommes près du but !

Pour que le terminal R fonctionne, il va falloir indiquer à VSCode le chemin d’installation de radian (i.e. le chemin que vous aviez copié lors de l’étape précédente).

Pour ce faire, il faut accéder aux options de VSCode (File -> Preferences -> Settings), et chercher l’option :

  • r.rterm.windows (pour Windows)
  • r.rterm.mac (pour MacOS)
  • r.rterm.linux (pour Linux)

de façon à trouver l’option “R path for interactive terminals ()”

Collez dans le champ dédié le chemin récupéré précédemment :

  • Sur Windows vous devriez avoir quelque chose ressemblant à C:\Users\nom_utilisateur\AppData\Local\Programs\Python\PythonXX\Scripts\radian.exe
  • Sur MacOS : /usr/local/bin/radian
  • Sur Linux : /home/nom_utilisateur/.local/bin/radian

Profitons d’avoir ouvert le menu des options pour chercher l’option r.bracketedPaste. Une fois que c’est fait, cochez la case correspondante.
Vous pouvez maintenant fermer le menu des options, et …. nous allons pouvoir lancer un terminal R (enfin !).

Lancer un terminal R

Avant de lancer un premier terminal R, assurez-vous que tous les pré-requis sont remplis et qu’aucune étape n’a été oubliée en cours de route :

R, VSCode (et éventuellement Python, Pandoc et RTools) sont installés

Vous pouvez taper dans une console R, sans avoir de message d’erreur en retour :

      • library(languageserver)
      • library(rmarkdown)
      • library(vscDebugger)
      • library(httpgd)

Les extensions VSCode reditorsupport.r et RDebugger.r-debugger sont installées

radian est installé, c’est à dire que l’instruction suivante fonctionne :

      • Pour les utilisateurs de Linux ou MacOS : which radian, tapé dans un terminal Bash renvoie un chemin d’installation
      • Pour les utilisateurs de Windows : which.exe radian, tapé dans un terminal PowerShell renvoie un chemin d’installation

Le paramètre indiquant le chemin d’installation de radian est renseigné dans VSCode

      • r.rterm.windows (pour Windows)
      • r.rterm.mac (pour MacOS)
      • r.rterm.linux (pour Linux)

Le paramètre r.bracketedPaste est coché dans VSCode

Si vous avez coché toutes les cases, vous êtes maintenant prêt à lancer un terminal R et à effectuer vos premières opérations !

Ces opérations ne paraissent pas très complexes au premier abord, mais soyons fiers de nous, l’objectif numéro 1 est rempli !

Nous sommes capables de lancer des commandes R dans VSCode ! 🙂

Pour aller plus loin avec R dans VSCode

Dans notre prochain article pour rentrer un peu plus dans le vif du sujet, et réussir nos analyses de données en R dans VSCode, nous aborderons les points suivants :

  • nous compléterons la configuration de VSCode et des raccourcis claviers pour reproduire certaines de nos opérations préférées de RStudio
  • nous créerons un script R avec du code qui s’exécutera via un Ctrl + Entrée
  • nous montrerons l’équivalent d’un projet RStudio dans VSCode
  • nous créerons des fichiers de notebook en rmd et qmd et montrerons comment les tricoter
  • et plein d’autres choses !

 

Suivez le guide vers l’article 2 : Poursuivons notre route avec VSCode : les projets, les scripts, les notebooks … tout est là !

A bientôt pour de nouvelles aventures dans l’univers de VSCode ! 🙂


À propos de l'auteur

Yohann Mansiaux

Yohann Mansiaux

Data Scientist au pays des m'R'veilles


Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


À lire également

Nos formations Certifiantes à R sont finançables à 100% via le CPF

Nos formations disponibles via moncompteformation.gouv.fr permettent de délivrer des Certificats reconnues par l’état, enregistrées au répertoire spécifique de France Compétences. 3 niveaux de certifications existent :

Contactez-nous pour en savoir plus.

Calendrier

04/06/2024

14/05/2024

14/05/2024