Intelligence de code dans VS Code : autocomplétion, aller à la définition et refactorisation pour R

Les fonctionnalités du service de langage R qui accélèrent l’édition : complétion, navigation, symboles et formatage.

Utilisez le service de langage R dans VS Code pour éditer plus vite : autocomplétion intelligente, aller à la définition et rechercher toutes les références, refactorisation par renommage de symbole, symboles de document et d’espace de travail, et formatage du code. L’intelligence d’IDE qui fait de VS Code un véritable éditeur R.

Date de publication

8 juillet 2026

Modifié

9 juillet 2026

AstucePoints clés
  • Un seul package fait tout. Le package R languageserver implémente le Language Server Protocol (LSP) pour R ; l’extension vscode-R expose ses fonctionnalités sous la forme des complétions, de la navigation et de la refactorisation que vous attendez d’un éditeur moderne.
  • L’autocomplétion tient compte de la portée. Elle suggère les fonctions et les arguments des packages chargés ainsi que les objets définis dans votre propre script — pas seulement un dictionnaire plat de noms.
  • Naviguez, ne faites pas défiler. F12 saute à une définition, Shift+F12 liste chaque référence, et @ / Ctrl+T sautent vers n’importe quel symbole du fichier ou de l’espace de travail entier.
  • Refactorisez en toute sécurité. F2 renomme une variable ou une fonction dans tout le fichier en une seule étape, au lieu d’un rechercher-remplacer risqué.
  • Le formatage est intégré. languageserver utilise styler pour reformater une sélection ou le fichier entier, et lintr pour souligner les problèmes au fur et à mesure de la saisie — aucune configuration supplémentaire une fois le package installé.

Introduction

Écrire du R dans Visual Studio Code donne l’impression d’un véritable IDE (environnement de développement intégré) — des complétions qui connaissent vos variables, l’accès direct à la définition, la refactorisation par renommage, des diagnostics à la volée — grâce à un package R qui fait le gros du travail en coulisses : languageserver. Il parle le Language Server Protocol (LSP), la norme même qui offre à Python, TypeScript et Rust leurs fonctionnalités d’éditeur intelligent, et l’extension vscode-R y connecte VS Code.

Cette leçon fait le tour de ce que cela vous apporte au quotidien : autocomplétion, signatures de fonctions, documentation au survol, diagnostics, navigation dans le code (aller à la définition, rechercher les références, symboles, hiérarchie des appels), refactorisation par renommage, formatage, et quelques touches d’organisation comme les sections de code et le pliage. Chaque fonctionnalité est présentée telle qu’elle apparaît dans l’éditeur, avec le raccourci qui la déclenche.

Elle suppose que vous avez déjà installé R dans VS Code. Si les complétions ou les diagnostics manquent, la cause est presque toujours un languageserver absent — la section ci-dessous est le correctif en deux lignes.

Avant de commencer

Les fonctionnalités intelligentes ne se trouvent pas dans l’extension — elles vivent dans le package languageserver. Installez-le depuis une console R :

install.packages("languageserver")

Cette seule installation suffit : languageserver embarque lintr pour les diagnostics et styler pour le formatage en tant que dépendances, si bien que le linting et le formatage du code fonctionnent d’emblée. Vous avez aussi besoin de l’extension vscode-R (REditorSupport.r) installée dans VS Code. Une fois les deux en place, ouvrez n’importe quel fichier .R et les fonctionnalités ci-dessous s’activent automatiquement.

Autocomplétion

L’autocomplétion est la fonctionnalité que l’on ressent en premier. Au fil de la saisie, le service de langage suggère des noms de fonctions, des noms d’arguments et des noms d’objets — réduisant les fautes de frappe et évitant les allers-retours vers la documentation.

Autocomplétion globale

Tapez quelques caractères et une liste déroulante propose les fonctions et objets correspondants de chaque package chargé. En sélectionner un insère le nom et, pour les fonctions, vous prépare à saisir les arguments :

La liste déroulante d’autocomplétion globale de vscode-R dans VS Code suggérant des noms de fonctions R correspondants des packages chargés pendant que l’utilisateur saisit dans l’éditeur.

Autocomplétion tenant compte de la portée

La complétion n’est pas qu’une liste plate de fonctions de packages — elle comprend votre script. Les variables, les colonnes de data frame et les fonctions que vous avez définies apparaissent elles aussi dans les suggestions, si bien qu’un df$ se complète avec les noms de colonnes réels de ce data frame :

L’autocomplétion tenant compte de la portée de vscode-R dans VS Code suggérant les colonnes d’un data frame défini par l’utilisateur après la saisie du nom du data frame et d’un signe dollar.

Aide à la signature de fonction

Lorsque vous tapez une parenthèse ouvrante après un nom de fonction, le service de langage affiche la signature de la fonction — ses paramètres et leurs valeurs par défaut — pour que vous sachiez quoi passer sans ouvrir la page d’aide.

Fonctions de packages

Pour toute fonction d’un package installé, la fenêtre contextuelle de signature liste les arguments et met en évidence celui que vous êtes en train de renseigner :

Une infobulle de signature de fonction dans VS Code montrant la liste des paramètres d’une fonction d’un package R, avec l’argument actif mis en évidence pendant que l’utilisateur saisit à l’intérieur de l’appel.

Vos propres fonctions

La même aide apparaît pour les fonctions que vous définissez vous-même — le service de langage lit leurs arguments formels dans votre code, si bien que votre propre API est aussi explorable que celle de n’importe quel package :

Une infobulle de signature de fonction dans VS Code montrant les paramètres d’une fonction R définie par l’utilisateur, générée à partir de la propre définition de la fonction dans le script.

Documentation au survol

Survolez une fonction ou un objet avec le curseur et une infobulle affiche sa documentation — signature, description et arguments — en ligne, pour que vous lisiez la doc sans quitter votre position dans le code :

Une infobulle de documentation au survol dans VS Code affichant le texte d’aide et la signature d’une fonction R lorsque le curseur se pose sur le nom de la fonction.

Diagnostics : repérez les erreurs au fil de la saisie

Les diagnostics soulignent les problèmes — erreurs de syntaxe, variables non définies, soucis de style — avant même que vous exécutiez le code. Cela est assuré par le package lintr, que languageserver exécute pour vous. Survolez un soulignement pour lire le message, et les mêmes problèmes se rassemblent dans le panneau Problems de VS Code :

L’éditeur VS Code montrant des diagnostics de code R : une ligne soulignée par le linter avec une infobulle expliquant l’avertissement de lint, et le problème listé dans le panneau Problems.

Vous pouvez ajuster quels lints se déclenchent en ajoutant un fichier de configuration .lintr à votre projet — le même fichier que lintr lit en ligne de commande.

Refactoriser : renommer un symbole

Renommer une variable ou une fonction à la main invite les oublis et les remplacements accidentels à l’intérieur des chaînes. Rename Symbol le fait correctement : placez le curseur sur le nom, appuyez sur F2, tapez le nouveau nom, et chaque référence se met à jour d’un coup — en tenant compte de la portée, si bien qu’il ne change que les bonnes occurrences :

La refactorisation Rename Symbol dans VS Code renommant une variable R partout où elle est utilisée dans le fichier après avoir appuyé sur F2 et saisi un nouveau nom.

Organiser : sections de code et pliage

Les longs scripts restent lisibles lorsqu’ils sont découpés en sections. Une ligne de commentaire se terminant par quatre tirets ou plus, #, ou = devient un en-tête de section que le service de langage reconnaît :

# Load data --------------------------------------------------
df <- read.csv("data.csv")

# Clean and transform ----------------------------------------
df <- na.omit(df)

Ces sections apparaissent dans la liste des symboles et dans la minimap, et chacune reçoit un contrôle de pliage :

Un script R dans VS Code avec des en-têtes de section en commentaires tiretés, chacun affichant un marqueur de pliage dans la gouttière de l’éditeur.

Cliquez sur la flèche de pliage dans la gouttière (ou utilisez Ctrl+Shift+[ pour plier, Ctrl+Shift+] pour déplier) afin de replier une section, un corps de fonction ou tout bloc imbriqué — pour masquer le code terminé et vous concentrer sur ce que vous éditez :

VS Code pliant et dépliant des sections et des blocs de code d’un script R depuis les contrôles de pliage de la gouttière.

Étendre la sélection par expression

Sélectionner exactement la bonne expression en la faisant glisser est délicat. Expand Selection agrandit la sélection vers l’extérieur une unité syntaxique à la fois — jeton, puis appel, puis bloc — avec Shift+Alt+→ (⌃⇧⌘→ sous macOS) ; Shift+Alt+← la rétrécit à nouveau. Elle s’appuie sur la compréhension qu’a le service de langage de la structure R, si bien qu’elle s’aligne sur des expressions entières :

VS Code étendant une sélection dans un script R vers l’extérieur, d’un jeton à l’appel de fonction englobant puis à l’instruction entière, étape par étape.

Formatez votre code

Le formatage cohérent est automatique. languageserver formate R avec le package styler, en appliquant le guide de style tidyverse par défaut.

Formater une sélection ou le fichier entier

Sélectionnez du code et lancez Format Selection (Ctrl+K Ctrl+F), ou Format Document (Shift+Alt+F) pour reformater le fichier entier — indentation, espacement autour des opérateurs et style d’affectation, tout est normalisé en une seule passe :

VS Code reformatant un bloc sélectionné de code R en désordre en un code propre et espacé de manière cohérente à l’aide du formateur styler.

Formater au fil de la saisie

Activez le formatage à la saisie ou le formatage à l’enregistrement et l’éditeur range le code au fur et à mesure que vous l’écrivez, si bien qu’il n’est jamais en désordre au départ. Activez-le avec ces paramètres (Ctrl+, → recherche, ou modifiez settings.json directement) :

{
  "editor.formatOnSave": true,
  "editor.formatOnType": true
}

VS Code formatant automatiquement du code R au fil de la saisie de l’utilisateur, ajoutant espacement et indentation à la volée.

Pour la configuration complète du formatage — largeur d’indentation, quel style appliquer et comment en délimiter la portée — voir Configurations recommandées de VS Code pour R.

Sélecteur de couleur

Une petite touche bien pratique : le service de langage reconnaît les chaînes de couleur dans votre code — les codes hexadécimaux comme "#3a86d4" et les couleurs nommées — et affiche un échantillon de couleur à côté d’elles. Cliquez sur l’échantillon pour obtenir un sélecteur en ligne et ajuster la couleur visuellement ; la nouvelle valeur est réécrite directement dans votre code :

Le sélecteur de couleur en ligne de VS Code ouvert sur une chaîne de couleur hexadécimale dans un script R, avec un échantillon à côté de la valeur et un sélecteur pour l’ajuster.

Problèmes fréquents

Pas de complétions, pas de diagnostics, pas de doc au survol. Le package languageserver est absent ou n’a pas pu être compilé. Lancez install.packages("languageserver") dans la console R et surveillez les erreurs — sous Windows, la cause habituelle est l’absence de la chaîne d’outils de compilation Rtools. Rechargez la fenêtre (Command Palette → Developer: Reload Window) après une installation réussie.

Le formatage ne fait rien, ou signale une erreur styler. Le formatage exécute styler, une dépendance de languageserver. S’il a été supprimé ou n’a pas pu s’installer, réinstallez-le avec install.packages("styler"), puis rechargez la fenêtre. Une erreur styler sur un fichier précis signifie généralement que le code ne s’analyse pas — corrigez d’abord l’erreur de syntaxe signalée par les diagnostics, car le formateur ne peut pas reformater du code qu’il ne peut pas analyser.

Aller à la définition ou renommer ne fait rien. Il faut pour cela que le service de langage ait indexé le symbole. Les projets fraîchement ouverts prennent un instant pour s’indexer ; si le problème persiste, vérifiez que le fichier est enregistré avec une extension .R (ou .r) pour que l’extension le traite comme du R, et que la barre d’état indique que le service de langage R est en cours d’exécution.

Questions fréquentes

Installez le package R languageserver (install.packages("languageserver")) et l’extension vscode-R (REditorSupport.r). Les complétions s’activent alors automatiquement dans tout fichier .R — il n’y a pas de paramètre distinct à activer. Si rien n’apparaît, le package est presque certainement absent ou n’a pas pu être compilé.

Placez le curseur sur le nom de la fonction et appuyez sur F12, Ctrl+Click (Cmd+Click sous macOS), ou clic droit → Go to Definition. Pour trouver plutôt partout où la fonction est utilisée, appuyez sur Shift+F12 (Find All References).

Placez le curseur sur la variable et appuyez sur F2, tapez le nouveau nom, puis confirmez. C’est Rename Symbol — il tient compte de la portée, si bien qu’il met à jour chaque référence véritable du fichier d’un coup sans toucher au texte correspondant à l’intérieur des chaînes ou des commentaires. C’est plus sûr qu’un rechercher-remplacer.

Ce sont des diagnostics du package lintr, que languageserver exécute au fil de la saisie — erreurs de syntaxe, variables non définies et soucis de style. Survolez un soulignement pour lire le message. Pour changer les vérifications qui se déclenchent, ajoutez un fichier de configuration .lintr à votre projet.

Lancez Format Document (Shift+Alt+F) ou Format Selection (Ctrl+K Ctrl+F) ; le formatage est réalisé par le package styler via languageserver. Pour formater à chaque enregistrement, définissez "editor.formatOnSave": true dans vos paramètres VS Code.

Tâche. Vous ouvrez un grand projet R dans VS Code avec l’extension vscode-R installée et fonctionnelle — vous pouvez exécuter du code dans le terminal sans problème. Mais vous n’obtenez aucune autocomplétion, survoler une fonction n’affiche aucune documentation, et les erreurs évidentes ne sont pas soulignées. Qu’est-ce qui manque presque certainement, et comment le confirmer et le corriger ?

L’extension gère le terminal et les visualiseurs. Les fonctionnalités d’éditeur intelligent — complétion, doc au survol, diagnostics — proviennent toutes d’un package R distinct qui parle le Language Server Protocol, et non de l’extension elle-même.

Le package languageserver n’est pas installé (ou n’a pas pu être compilé). Il fournit les complétions, la documentation au survol, les diagnostics, la navigation et le formatage via le Language Server Protocol ; l’extension ne fait que connecter VS Code à celui-ci. Lancez install.packages("languageserver") dans la console R et vérifiez qu’il réussit — sous Windows, installez d’abord Rtools s’il échoue à la compilation. Puis rechargez la fenêtre (Command Palette → Developer: Reload Window). Les diagnostics (lintr) et le formatage (styler) viennent en tant que dépendances, si bien que toutes les fonctionnalités intelligentes reviennent d’un coup.

Vous voulez voir chaque endroit où une fonction est appelée dans le fichier courant avant de la modifier. Quel raccourci les liste ?

A. F2 B. F12 C. Shift+F12

C. Shift+F12 (Find All References) liste chaque utilisation du symbole. F12 (B) saute vers son unique définition ; F2 (A) le renomme.

Conclusion

Le service de langage R transforme VS Code d’un éditeur de texte en un véritable IDE R. L’autocomplétion et l’aide à la signature accélèrent l’écriture ; la doc au survol et les diagnostics vous gardent correct au fil de la saisie ; l’aller à la définition, la recherche de références, les symboles et la hiérarchie des appels vous laissent naviguer au lieu de faire défiler ; le renommage de symbole refactorise en toute sécurité ; et le formatage styler garde tout en ordre. Tout cela vient de l’installation d’un seul package — languageserver — par-dessus l’extension vscode-R. Installez-le une fois, et chaque fonctionnalité de cette leçon est active par défaut.

Leçons connexes

Cette page vous a-t-elle été utile ?

Recevez les nouvelles leçons R & Python par e-mail

Pratique, reproductible, sans spam. Désinscription à tout moment.

Double opt-in. Nous ne partageons jamais votre e-mail.

Partager cette pageXLinkedInRedditHN
Note

Cette leçon est une visite guidée des fonctionnalités : les commandes d’installation et les extraits R montrés ci-dessus sont exactement ce que vous exécutez dans votre propre console et éditeur R — copiez n’importe quel bloc et exécutez-le pour activer chaque fonctionnalité du service de langage sur votre machine. The runtime is the judge.

Réutilisation

Citation

BibTeX
@online{2026,
  author = {},
  title = {Intelligence de code dans VS Code : autocomplétion, aller à
    la définition et refactorisation pour R},
  date = {2026-07-08},
  url = {https://www.datanovia.com/learn/programming/r-in-vscode/mastering-r-language-service-in-vscode},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Intelligence de code dans VS Code : autocomplétion, aller à la définition et refactorisation pour R.” 2026. July 8. https://www.datanovia.com/learn/programming/r-in-vscode/mastering-r-language-service-in-vscode.