GitHub Copilot über Umwege

So geht R in Visual Studio Code

22.02.2024
Von 
Sharon Machlis ist Director of Editorial Data & Analytics bei Foundry. Sie ist darüber hinaus Autorin von "Practical R for Mass Communication and Journalism".
R-Programmierer, die mit GitHub Copilot experimentieren wollen, sollten einen Umweg über Visual Studio Code nehmen. So funktioniert's.
R-Entwickler mit GitHub-Copilot-Bedarf sollten Umwege in Kauf nehmen.
R-Entwickler mit GitHub-Copilot-Bedarf sollten Umwege in Kauf nehmen.
Foto: Kent Weakly | shutterstock.com

Zufriedene Benutzer von RStudio verspüren wahrscheinlich nicht den Drang, eine andere IDE auszuprobieren. Anders sieht es aus, wenn sie nach der besten generativen GitHub-Copilot-Erfahrung streben. Das GenAI-Tool ist zwar auch in RStudio verfügbar (Fragen wird hier # q vorangestellt), allerdings ist das neue Copilot-Chat-Interface in Microsofts Visual Studio Code (VS Code) für Entwickler deutlich zielführender.

GitHub Copilot ist offiziell nicht für R optimiert. Trotzdem ist das Tool in der Lage, Code-Empfehlungen in R auszugeben und beantwortet Fragen in Zusammenhang mit der Programmiersprache zufriedenstellend.

Visual Studio Code für R einrichten

Leider ist es - verglichen mit der Installation von RStudio - nicht ganz so trivial, VS Code für die Arbeit mit R einzurichten. Das liegt in erster Linie daran, dass Microsofts IDE Hunderte von Programmiersprachen unterstützt. Um zu verhindern, dass die Software unnötig aufgebläht wird, verfolgt Microsoft einen modularen Ansatz. Heißt im Klartext: Die meisten Benutzer müssen Extensions installieren, um VS Code für ihren spezifischen Use Case zu optimieren - so auch R-Programmierer.

Das Vorgehen in aller Kürze:

  • Laden Sie Visual Studio Code herunter und installieren Sie es - die Software ist kostenlos für Windows, Mac und Linux-Systeme verfügbar.

  • Dann machen Sie sich in Visual Studio Code auf Extension-Suche und installieren die R-Erweiterung von REditor Support (siehe Screenshot).

  • Sobald Sie Informationen sehen, um die Erweiterung zu konfigurieren und auszuführen, speichern Sie diese Informationen für die spätere Verwendung ab.

Diese Extension macht Visual Studio Code fit für den R-Einsatz.
Diese Extension macht Visual Studio Code fit für den R-Einsatz.
Foto: Sharon Machlis | IDG
Die Informationen zur Extension im Überblick.
Die Informationen zur Extension im Überblick.
Foto: Sharon Machlis | IDG

Um Ihre R-Erfahrung mit Visual Studio Code weiter zu optimieren, empfiehlt sich zudem, das Radian-Terminal zu verwenden. Dabei handelt es sich nicht um eine Extension, sondern eine in Python geschriebene Anwendung. Auf Ihrem System muss also Python installiert sein. Da Python und der conda-Paketmanager bereits auf unserem Mac installiert waren, haben wir folgenden Installationsbefehl für radian verwendet:

conda install -c conda-forge radian

Wenn Sie den Python-Package-Manager verwenden, lautet der Befehl:

pip install -U radian

Darüber hinaus werden weitere Installlationen für die R-Extension in Visual Studio Code empfohlen:

  • languageserver

  • httpgd

  • VSCode-R-Debugger

Zudem können Sie auch Quarto installieren, falls Sie diese Erweiterung nutzen. Bei den Extensions languageserver und httpgd handelt es sich um R-Packages. Diese können Sie also auf die gewohnte Weise über RStudio oder ein R-Terminal installieren, mit:

  • install.packages("languageserver") und

  • install.packages("httpgd").

Dabei ist zu beachten, dass Sie auch RTools installieren müssen, falls Sie languageserver unter Windows ausführen möchten. Um den VS Code R-Debugger, Quarto und/oder ShinyUiEditor zu installieren, können Sie entweder zurück zu VS Code gehen oder die jeweilige Webseite besuchen.

VS Code für R konfigurieren

Es gibt eine ganze Reihe von Einstellungen, die Sie in Visual Studio Code anpassen können, um Ihre R-Experience zu individualisieren. Beispielsweise können Sie bestimmen, wie viel von einem Objekt angezeigt werden soll, wenn Sie den Mauszeiger darüber bewegen. Oder ob Sie anstelle des VS-Code-Standards lieber den Plot-Viewer httpgd nutzen möchten. Eine Liste der verfügbaren Settings finden Sie hier.

Die Einstellungen in Visual Studio Code können Sie auf zweierlei Art und Weise ändern: entweder ganz simpel über die Benutzeroberfläche oder indem Sie die entsprechende JSON-Datei bearbeiten. Darüber hinaus können Sie die Settings-Oberfläche auch über die Command-Palette von VS Code aufrufen. Das stellt einen besonders praktischen Weg dar, auf alle Arten von Funktionen in Visual Studio Code zuzugreifen. Diese rufen Sie mit der Tastenkombination Strg+Shift+P (Windows) beziehungsweise Cmd+Shift+P (Mac) auf.

Auf die Einstellungen in VS Code kann auch über die Command Palette zugegriffen werden.
Auf die Einstellungen in VS Code kann auch über die Command Palette zugegriffen werden.
Foto: Sharon Machlis | IDG

Sobald Sie die Befehlspalette geöffnet haben, können Sie die VS Code-Einstellungen mit dem Befehl Open Settings öffnen. Anschließend haben Sie die Wahl zwischen GUI und der zugrundeliegenden JSON-Datei. Suchen Sie in den Einstellungen nach bracketedPaste und aktivieren Sie es mit einem Klick.

In der grafischen Benutzeroberfläche können Sie nach unten scrollen, um eine Liste der Erweiterungen zu sehen, und dann auf R klicken, wo Sie eine Liste mit Auswahlmöglichkeiten für Ihre R-Erweiterung erhalten. Auch der R-Debugger verfügt über eine solche Liste von Anpassungen. Wenn Sie das Radian-Terminal verwenden möchten, müssen Sie das in den Optionen einstellen, indem Sie den Pfad zu Radian für Ihr Betriebssystem hinzufügen. Für einige Anpassungen ist es möglicherweise zielführender, Optionen manuell über die JSON-Datei hinzuzufügen.

R in Visual Studio Code ausführen

In VS Code ist es üblich, einen Ordner zu öffnen, wenn man mit R arbeitet - statt einfach eine neue Datei zu erstellen. Wenn Sie ein RStudio-ähnliches Setup bevorzugen, wählen Sie über das Menü "Add Folder to Workspace". Ansonsten öffnen Sie einfach den Ordner und klicken auf das "Explorer"-Symbol in der Navigationsleiste oben links, um die verfügbaren Dateien anzuzeigen. Ähnlich wie in RStudio können Sie eine oder mehrere Codezeilen ausführen, die Sie ausgewählt haben. Das funktioniert mit der Tastenkombination Strg+Enter (Windows) respektive Cmd+Enter (Mac).

Wenn Sie in der linken Navigationsleiste auf das R-Symbol klicken, erhalten Sie Informationen darüber, welche Pakete und Objekte in Ihrem Arbeitsbereich geladen sind. Einen Data Frame oder andere Objekte können Sie anzeigen, indem Sie den Mauszeiger über die entsprechende Variable bewegen und auf das Ansichts-Icon rechts klicken.

Denselben Zweck erfüllt auch die View()-Funktion im Terminal - beispielsweise View(mtcars). Diese ist durchsuch- und filterbar, wenn auch nicht ganz so elegant wie RStudio. Der Befehl help() führt zu einer HTML-Version des Help Files einer Funktion. Hilfreiche Informationen ganz ohne etwas eingeben zu müssen, bewirkt auch ein Mouseover bei Funktionen.

Die Mouseover-Funktion funktioniert auch bei Variablen, die Sie definieren.
Die Mouseover-Funktion funktioniert auch bei Variablen, die Sie definieren.
Foto: Sharon Machlis | IDG

Sie können außerdem auch eine Preview von R-Grafiken in VS Code anzeigen, indem Sie Grafikcode in einem Paket wie ggplot2 ausführen. Das Resultat wird in einem neuen Fenster angezeigt.

Visual Studio Code verfügt außerdem über eine R-Dataviz-Funktion: Farbennamen oder Hex-Codes in R-Skripten erzeugen eine kleine klickbare Box, die zu einer Farbauswahl führt.
Visual Studio Code verfügt außerdem über eine R-Dataviz-Funktion: Farbennamen oder Hex-Codes in R-Skripten erzeugen eine kleine klickbare Box, die zu einer Farbauswahl führt.
Foto: Sharon Machlis | IDG

R-Code-Snippets in VS Code

Ohne Code-Snippets, kein Code-Editor. Ersteres sind gespeicherte Codeblöcke, die sich einfach wiederverwenden lassen. Einige R-Snippets sind bereits in den R-Extensions für VS Code enthalten. Sie können aber auch Ihre eigenen erstellen.

Die Syntax, um ein Snippet in Visual Studio Code zu erstellen:

"Snippet Title": {

"prefix": "what_i_type_to_trigger_snippet",

"body": [

"my R code here;",

"myfun(${1:argument_label} #example code"

],

"description": "Optional description for my snippet"

}

Nachfolgend noch ein Beispiel für ein Snippet, das ein einfaches ggplot2-Diagramm mit blauen Balken generiert:

"Basic bar plot blue": {

"prefix": "myg_barplot_blue",

"body": [

"ggplot(${1:mydata}, aes(x = ${2:myxcol}, y = ${3:myycol})) +",

"geom_col(color = 'black', fill='#0072B2')"

],

"description": "Basic ggplot bar plot with blue bars outlined in black"

}

Auch RStudio verfügt über Code-Snippets. Mit VS Code können Sie jedoch auch eine vollständige Liste Ihrer Snippets anzeigen, indem Sie den Befehl "Insert Snippet" in der Command Palette verwenden.

Wo Visual Studio Code für R Sinn macht

Visual Studio Code hat einige nützliche Funktionen an Bord. Insbesondere die Funktions- und Variablen-Popups können in Code-lastigen Projekten hilfreich sein. Die Möglichkeit sämtliche Snippets einzusehen (einschließlich der Titel und optionalen Beschreibungen) ist eine Funktion, die viele Programmierer wohl auch gerne in RStudio sehen würden. Für R-spezifische Tasks, bei denen Sie keinen Rat von Copilot brauchen, dürfte RStudio dennoch die erste Wahl bleiben. (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.