Utiliser la fenêtre interactive RWork with the R interactive window

Outils R pour Visual Studio (RTVS) comprend une fenêtre interactive R, également appelée fenêtre REPL (Read-Evaluate-Print-Loop), dans laquelle vous pouvez entrer du code R et voir immédiatement les résultats.R Tools for Visual Studio (RTVS) provides an R interactive window, also known as a REPL (Read-Evaluate-Print-Loop) window, in which you can enter R code and immediately see the results. Les modules, la syntaxe, les variables et les fonctionnalités IntelliSense sont tous disponibles dans la fenêtre interactive.All modules, syntax, and variables, as well as IntelliSense, is available in the interactive window.

La fenêtre interactive est également intégrée aux fenêtres normales de l’éditeur R.The interactive window is also integrated with regular R editor windows. Pour exécuter du code ligne par ligne comme si vous l’aviez tapé directement dans la fenêtre interactive, sélectionnez le code voulu et appuyez sur Ctrl+Entrée ou cliquez avec le bouton droit et sélectionnez Exécuter en mode interactif.You can select code and press Ctrl+Enter, or right-click and select Execute in Interactive, and the code is run line-by-line in the interactive window as if you typed it directly. Si le curseur se trouve sur une seule ligne de code dans une fenêtre d’éditeur, appuyez sur Ctrl+Entrée pour envoyer cette ligne à la fenêtre interactive et positionner le curseur sur la ligne suivante.When the cursor is on a single line in an editor window, Ctrl+Enter sends that line to the interactive window and then moves the cursor to the next line. Vous pouvez ainsi continuer d’appuyer sur Ctrl+Entrée pour parcourir le code pas à pas.This way you can just press Ctrl+Enter repeatedly to step through the code.

Pour vous familiariser avec ces fonctionnalités, suivez la procédure pas à pas Bien démarrer avec R, ainsi que les sections de cet article.To experience these features, follow the Get started with R walkthrough as well as the sections in this article. Les extraits de code fonctionnent aussi bien dans la fenêtre interactive que dans les fenêtres de l’éditeur R.Code snippets also work in the interactive window like they do in R editor windows.

Vue d’ensemble de la fenêtre interactiveOverview of the Interactive Window

Pour exécuter une ligne de code R, sous réserve que celle-ci soit valide, appuyez sur Entrée à la fin de la ligne :Typing valid R code and pressing Enter at the end of the line runs the code on that line:

> 3 + 3
[1] 6

Vous pouvez également appuyer sur Entrée dans une ligne de code unique pour exécuter cette ligne.Pressing Enter anywhere on a single-line input also runs that line.

Toutes les entrées et sorties précédentes de la fenêtre REPL étant en lecture seule, vous ne pouvez pas les changer.All previous input and output in the REPL is read-only and cannot be changed. Toutefois, vous pouvez à tout moment sélectionner du texte dans la fenêtre pour le copier et le coller.However, you can select and copy text from the window at any time, as well as pasted. Le code collé est exécuté comme si vous l’aviez entré ligne par ligne.Pasted code runs as if it were entered line by line.

Si vous commencez à taper une instruction et que vous appuyez sur Entrée, RTVS sait que l’instruction n’est pas terminée. Il passe alors en mode multiligne, affiche une invite + à gauche et applique la mise en retrait appropriée.That is, when you start typing a statement and press Enter, RTVS knows when the statement must be continued and enters multi-line mode with a + prompt on the left and the appropriate indentation. RTVS complète également les parenthèses, les crochets et les accolades :RTVS also completes parentheses, brackets, and curly braces:

Entrée d’une instruction multiligne dans la fenêtre interactive

En mode multiligne, la touche Entrée exécute le bloc de code seulement si le curseur se trouve à la fin du bloc ; sinon, une nouvelle ligne est insérée.In this multi-line mode, the Enter key runs the code block only when positioned at the end of the block, otherwise it inserts a new line. Toutefois, vous pouvez appuyer sur Ctrl+Entrée à n’importe quel emplacement pour exécuter immédiatement ce bloc de code.However, you can press Ctrl+Enter at any position to run that code block immediately.

Commandes de la barre d’outilsToolbar commands

Voici la fenêtre interactive avec sa barre d’outils :Here is the interactive window with its toolbar:

Fenêtre interactive avec sa barre d’outils

Les commandes de la barre d’outils sont listées ci-après. La plupart d’entre elles ont des équivalents clavier et sont disponibles dans les menus R Tools > Session et Outils R > Répertoire de travail (ou comme indiqué) :The toolbar commands are as follows, most of which have keyboard equivalents and are also available on the R Tools > Session and R Tools > Working Directory menus (or as noted):

BoutonButton CommandeCommand Combinaison de touchesKey combination DescriptionDescription
Bouton Réinitialiser RéinitialiserReset Ctrl+Maj+F10Ctrl+Shift+F10 Réinitialise la session de la fenêtre interactive. Toutes les variables et l’historique sont effacés.Resets the interactive window session, clearing all variables and history.
Bouton Effacer EffacerClear Ctrl+LCtrl+L Efface la sortie affichée dans la fenêtre interactive ; n’affecte pas les variables ou l’historique de la session.Clears the output shown in the interactive window; does not affect session variables or history.
Boutons Historique Commande précédente de l’historiquePrevious History Command
Commande suivante de l’historiqueNext History Command
Haut, BasUp, Down
Alt+Haut, Alt+BasAlt+Up, Alt+Down
Fait défiler l’historique, avec certains comportements pour les blocs de code multiligne.Scrolls through the history, with certain behaviors for multi-line code blocks. Consultez Historique.See History.
Bouton Charger l’espace de travail Charger l’espace de travailLoad Workspace N/An/a Charge un espace de travail précédemment enregistré (consultez Espaces de travail et sessions).Loads a previous saved workspace (see Workspaces and sessions.
Bouton Enregistrer l’espace de travail sous Enregistrer l’espace de travail sousSave Workspace As N/An/a Enregistre l’état actuel de la session en tant qu’espace de travail (consultez Espaces de travail et sessions).Saves the current state of the session as a workspace (see Workspaces and sessions.
Bouton Script R source Script R sourceSource R Script Ctrl+Maj+SCtrl+Shift+S Appelle source avec le script R actuellement actif dans l’éditeur Visual Studio, qui exécute le code.Calls source with the currently active R script in the Visual Studio editor, which runs the code. Ce bouton n’apparaît que si un fichier R est ouvert dans l’éditeur Visual Studio.This button appears only when an R file is open in the Visual Studio editor.
Bouton Script R source avec Echo Script R source avec EchoSource R Script with Echo Ctrl+Maj+EntréeCtrl+Shift+Enter Identique à Approvisionner le script R, mais affiche le contenu du script dans la fenêtre interactive.Same as Source R Script but displays the script's contents in the interactive window.
Bouton Interrompre R Interrompre RInterrupt R ÉchapEsc Arrête tout code en cours d’exécution dans la fenêtre interactive, comme la boucle while dans la capture d’écran affichée au début de cette section.Stops any running code in the interactive window, such as the while loop in the screenshot shows at the beginning of this section.
Bouton Attacher le débogueur Attacher le débogueurAttach Debugger N/An/a Également disponible par le biais de la commande Déboguer > Joindre à la fenêtre interactive R.Also available using the Debug > Attach to R Interactive command.
Bouton Définir le répertoire de travail à l’emplacement du fichier source Définir le répertoire de travail à l’emplacement du fichier sourceSet Working Directory to Source File Location Ctrl+Maj+ECtrl+Shift+E Définit le répertoire de travail à l’emplacement du dernier fichier approvisionné chargé dans la fenêtre interactive (à l’aide de source).Sets the working directory to the most recently sourced file loaded to the interactive window (using source). Consultez Répertoire de travail.See Working directory.
Bouton Définir le répertoire de travail à l’emplacement du projet Définir le répertoire de travail à l’emplacement du projetSet Working Directory to Project Location Ctrl+Maj+PCtrl+Shift+P Définit le répertoire de travail à la racine du projet actuellement chargé dans Visual Studio.Sets the working directory to the root of the currently loaded project in Visual Studio. Consultez Répertoire de travail.See Working directory.
(Champ de texte)(Text field) Sélectionner le répertoire de travailSelect Working Directory N/An/a Champ d’entrée directe pour le répertoire de travail.Direct input field for the working directory. Consultez Répertoire de travail.See Working directory.

Espaces de travail et sessionsWorkspaces and sessions

L’exécution de code dans la fenêtre interactive génère un contexte dans votre session active.Running code in the interactive window builds up a context in your current session. Le contexte est composé de variables globales, de définitions de fonctions, de charges de bibliothèque, etc.The context is composed of global variables, function definitions, library loads, and so forth. Le terme espace de travail désigne ce contexte. Vous pouvez enregistrer et charger des espaces de travail à tout moment.This context is collectively called a workspace, and you can save and load workspaces at any time.

Quand vous appuyez sur le bouton Enregistrer l’espace de travail sous ou sélectionnez la commande Outils R > Session > Enregistrer l’espace de travail sous, vous êtes invité à entrer un emplacement et un nom de fichier (extension par défaut : .RData).Selecting the Save Workspace As button or using the R Tools > Session > Save Workspace As command prompts you for a location and filename (default extension is .RData).

Pour enregistrer un espace de travail sous un nom de fichier spécifique (par défaut : .RData), cliquez sur le bouton Enregistrer l’espace de travail dans la fenêtre REPL :To save a Workspace using a specific filename (the default is .RData), click on the Save Workspace button in the REPL:

Pour recharger un espace de travail précédemment enregistré, sélectionnez le bouton Charger l’espace de travail ou utilisez Outils R > Session > Charger l’espace de travail et accédez au fichier d’espace de travail.To reload a previously saved workspace, select the Load Workspace button or use R Tools > Session > Load Workspace and navigate to the workspace file.

Utilisez le bouton Réinitialiser ou la commande Outils R > Session > Réinitialiser pour effacer le contexte de la session.The Reset button or R Tools > Session > Reset clears the session context. Si vous utilisez une session à distance, la réinitialisation supprime également le profil utilisateur de l’ordinateur distant pour effacer tous les fichiers qu’il contient.If you're using a remote session, resetting also deletes the user profile on the remote machine to clear off all files stored there. (Consultez Espaces de travail.)(See Workspaces.)

Répertoire de travailWorking directory

Les développeurs sont souvent amenés à changer de répertoire de travail au cours d’une session interactive.Developers commonly want to change their working directory while in an interactive session. Pour définir facilement un répertoire de travail à l’emplacement d’un fichier source, à l’emplacement de votre projet ou dans tout autre emplacement arbitraire, utilisez les commandes disponibles dans la barre d’outils, dans le menu Outils R > Répertoire de travail et dans le menu contextuel du projet.Various commands, available on the toolbar, the R Tools > Working directory menu, and the project context menu allows you to easily set a working directory to the location of a source file, the location or your project, or any other arbitrary location. Cela vous évitera de taper des noms de chemin complets ou des noms de chemin relatifs de grande taille pour faire référence aux fichiers.Doing so helps you avoid typing out full pathnames or lengthy relative pathnames when referring to files.

HistoriqueHistory

Toutes les lignes que vous entrez dans la fenêtre interactive, notamment celles envoyées à partir d’un éditeur, sont conservées dans l’historique de la fenêtre REPL.Every line you enter in the interactive window, includes lines sent from an editor, are preserved in the REPL's history. Vous pouvez ensuite parcourir l’historique à l’aide des touches de direction Haut et Bas, comme vous êtes sans doute habitué à le faire sur la ligne de commande.You can then navigate through history with the Up and Down arrow keys, as you are likely accustomed to on the command line.

Il existe toutefois des différences. En effet, si vous commencez à taper du code sur la ligne actuelle et que vous appuyez sur la flèche Haut, la ligne actuelle est conservée dans l’historique même si elle n’a pas encore été exécutée.One difference is that if you start typing on the current line and press Up, that current line is preserved in your history even through you haven't run that line yet.

L’historique dans la fenêtre interactive traite également de façon intelligente les instructions d’un autre bloc de code qui s’étendent sur plusieurs lignes.History in the interactive window also works intelligently with statements of other code block that span lines. Quand vous parcourez l’historique à l’aide des touches de direction Haut et Bas, les blocs de code multilignes sont récupérés comme une unité complète et présentés comme l’entrée active.When cycling through history with the Up and Down arrow keys, multi-line code blocks are retrieved as a whole unit and shown as the current entry. À ce stade, les touches de direction permettent de parcourir ce bloc de code ligne par ligne, jusqu’à ce que vous arriviez en haut ou en bas.At this point, the arrow keys navigate through that code block line by line, until the top or bottom is reached. En haut du bloc de code, la flèche Haut permet de récupérer l’élément précédent dans l’historique ; sur la dernière ligne, la flèche Bas permet de récupérer l’élément suivant.At the top of the code block, the up arrow retrieves the previous item in the history; at the bottom line, the down arrow retrieves the next item.

Vous pouvez ainsi non seulement réexécuter le dernier élément dans l’historique à l’aide de la combinaison de touches Entrée et Flèche haut, mais aussi modifier un bloc de code multiligne en appuyant sur la flèche Haut pour y accéder.This behavior accommodates the typical case of rerunning the last item in the history with an Up arrow and Enter keystroke combination, while naturally allowing for editing of a multi-line code block by pressing the Up arrow to navigate into it.

Pour éviter de parcourir des blocs de code multilignes, utilisez les boutons de la barre d’outils ou les combinaisons de touches Alt+Haut et Alt-Bas pour traiter ces blocs comme une seule ligne de code.To avoid navigating into multi-line code blocks, use the toolbar buttons or Alt+Up and Alt-Down, and all such blocks are treated as a single line.

Le moyen le plus simple de comprendre les fonctionnalités d’historique consiste à les tester dans la fenêtre interactive.The easiest way to experience the history features is to try them for yourself in the interactive window. Le code ci-dessous fournit plusieurs instructions appropriées sur une ou plusieurs lignes.The code below provides several suitable single- and multi-line statements. Veillez à copier-coller les instructions une par une pour créer l’historique approprié.Use copy-paste with each statement individually, however, to create the appropriate history. (Vous pouvez aussi coller le code dans un fichier de code séparé, puis envoyer les lignes dans la fenêtre interactive avec Ctrl+Entrée.)(You can also paste the code into a separate code file and then send the lines to the interactive window with Ctrl+Enter.)

3 + 3

4 + 4

5 + 5

add <- function (x, y) {
  return (x + y)
}

sub <- function (x, y) {
  return (x - y)
}