Microsoft hat seine beliebte IDE Visual Studio Code für den Raspberry Pi veröffentlicht. VS Code ist auf allen Plattformen sehr verbreitet und hat für fast jede gängige Programmiersprache ein Plugin. Auf dem Raspberry Pi ist Visual Studio Code ebenso eine mächtige Alternative zu den üblichen Entwicklungsumgebungen bzw. Editoren (gedit, Notepad, Greenfoot usw.).
In diesem Tutorial schauen wir uns daher an, wie wir auf dem Raspberry Pi Visual Studio Code installieren. Anschließend nutzen wir unsere neue IDE, um ein kleines Hello-World Programm in C++ zu schreiben und dieses zu kompilieren und zu debuggen.
Zubehör
Folgendes Zubehör habe ich verwendet:
- Raspberry Pi
- Micro-SD Karte
- 5V Netzteil
- optimal: Bildschirm mit HDMI Kabel, Tastatur, Maus
Im Folgenden wird davon ausgegangen, dass Raspbian / Raspberry Pi OS bereits auf eine SD-Karte übertragen wurde und die Einrichtung der Internetverbindung abgeschlossen ist (ggf. mit SSH Zugriff). VS Code läuft aber ebenfalls auf alternativen Betriebssystemen wie Ubuntu Mate.
Warum Visual Studio Code?
Installation von Visual Studio Code auf dem Raspberry Pi
Zunächst einmal müssen wir uns mit der grafischen Oberfläche / Desktop des Raspberry Pi’s verbinden. Dazu können wir den Pi entweder an einen Monitor anschließen oder dich z.B. per Remotedesktopverbindung über einen anderen Computer verbinden.
Am Raspberry Pi öffnen wir zunächst den Browser und rufen folgende Seite auf:
https://code.visualstudio.com/#alt-downloads
Hier musst du zunächst die Version der .deb Datei für ARM wählen: Wenn du ein 64-Bit OS hast, wählst du die entsprechend rechte Variante. Falls du nicht sicher bist, kannst du das ganz einfach mittels folgendem Befehl auf der Konsole herausfinden:
uname -m
- armv71 – bedeutet 32-Bit Version
- aarch64 – bedeutet 64-Bit Version
Nun öffnen wir die heruntergeladene .deb Datei per Doppelklick (normalerweise befindet sie sich im /home/pi/Downloads
Ordner). Klicke anschließend auf „Install“.
Hier wirst du aufgefordert dein Passwort anzugeben. Das ist standardmäßig raspberry
bei Raspbian / Raspberry Pi OS. Bestätige mit OK. Die Installationsdateien werden im Anschluss heruntergeladen und installiert, was ein paar Minuten dauern kann.
Nun können wir Visual Studio Code öffnen. Öffne das Startmenü des Raspberry Pi’s und wähle Visual Studio Code unter „Accessories“ (ebenfalls unter „Programming“). Die allseits bekannte Entwicklungsumgebung öffnet sich.
C++ Programmierung in VS Code einrichten
Um in C oder C++ komfortabel programmieren zu können, brauchen wir einen Compiler und ein VS Code Plugin. Zunächst prüfen wir, ob GCC installiert ist:
gcc -v
Fall der Befehl einen Fehler ausgibt, installieren wir es wie folgt:
sudo apt-get install build-essential gdb
Danach wechseln wir in Visual Studio und drücken STRG + Shift + X, um nach Plugins / Extensions zu suchen. Suche hier nach C++ und installiere das C/C++ Plugin.
Hier kannst du übrigens noch sehr viele andere Extensions installieren (bspw. Java, C#, PHP, Python, Go). Einen guten Überblick gibt es hier.
Hello-World Programm in C++ programmieren und debuggen
Beginnen wir nun mit ein kleines C++ Programm zu schreiben, zu kompilieren und zu debuggen.
Erstelle zunächst im Home-Verzeichnis einen Unterordner namens helloworld
.
Wähle nun File > New File und füge folgenden Code ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <iostream> #include <vector> #include <string> using namespace std; int main() { vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"}; for (const string& word : msg) { cout << word << " "; } cout << endl; } |
Mit STRG + S kannst du die Datei in deinem Projektordner /home/pi/helloworld/
speichern.
Wenn du hier Befehle eingibst, sind die Autovervollständigung sowie Vorschläge (STRG + Leertaste) bereits angeschaltet.
Nun wollen wir kompilieren und debuggen. Vorher setzen wir einen Breakpoint (bspw. in Zeile 11), indem wir links neben die Zeilennummer klicken. Wir wählen dann auf der linken Seite den „Run“ Tab. Sofern du noch keine Konfiguration hinterlegt hast, siehst du den „Run and Debug“ Button, den wir drücken und anschließend „C++ (GDB/LLDB)“ als Environment auswählen. Der Shortcut hierfür ist übrigens F5.
Im nächsten Schritt wählen wir den folgenden Eintrag aus: C/C++: g++ build active file
Dadurch öffnet sich eine neue Datei (launch.json), in der du später die Konfiguration noch anpassen kannst. Die Datei befindet sich im Ordner „.vscode“, der sich in deinem Projektordner befindet.
Der Debugger wird nun in Zeile 11 stoppen und du kannst das Programm untersuchen:
Das war es bereits! Die kompilierte ausführbare Datei kannst du ebenso von der Konsole aus aufrufen. Dazu einfach folgendes eingeben:
/home/pi/helloworld/hello-world
Falls weitere C++ Tutorials gewünscht sind, würde ich mich über einen Kommentar freuen (gerne auch mit Tutorialwunsch).
PS: Wer sich den Code von der Visual Studio Code IDE einmal ansehen möchte, kann dies hier tun – und sogar contributen 😉
Code-Source: https://code.visualstudio.com/docs/cpp/config-linux
8 Kommentare
Diese Tutorial kommt gerade richtig. Ich möchte gerne wieder mit C/C++ programmieren. Python ist super aber etwas langsam. Sogar eventuell C# auf der Raspberry pi zu laufen ….das geht.
Ich wollte auch C Programme mit Python verwenden.
Hallo, leider mehr Frust als Lust.
Wie entferne ich die Installation von meinem Raspi?
Kannst du dass begründen ? bin auch amüberlegen
Hallo,
installiert nach der Beschreibung, leider findet das
Visual Studio findet keine #include ’s
Wie kann man dies beseitigen?
Einfügen von
„includePath“: [
„${workspaceFolder}/**“,
„../../usr/include/“
],
in *.json hat nicht geholfen…
Hallo zusammen,
leider bin ich noch auf 32 Bit unterwegs. Wie kann ich da Visual-Studio benutzen? Die Version 2017 finde ich nirgendwo mehr.
Viele Grüße
Martmen
Unfortunately I get a bunch of error messages with this code:
{
„resource“: „/Users/barbara/cpp/helloworld/helloworld.cpp“,
„owner“: „cpptools“,
„severity“: 8,
„message“: „expected ‚;‘ at end of declaration“,
„source“: „gcc“,
„startLineNumber“: 9,
„startColumn“: 23,
„endLineNumber“: 9,
„endColumn“: 23
}
{
„resource“: „/Users/barbara/cpp/helloworld/helloworld.cpp“,
„owner“: „C/C++“,
„code“: „289“,
„severity“: 8,
„message“: „Keine Instanz des Konstruktors „“std::__1::vector::vector [mit _Tp=std::__1::string, _Allocator=std::__1::allocator]““ stimmt mit der Argumentliste überein. — Argumenttypen sind: (const char [6], const char [4], const char [6], const char [5], const char [8], const char [23])“,
„source“: „C/C++“,
„startLineNumber“: 9,
„startColumn“: 24,
„endLineNumber“: 9,
„endColumn“: 24
}
{
„resource“: „/Users/barbara/cpp/helloworld/helloworld.cpp“,
„owner“: „C/C++“,
„code“: „252“,
„severity“: 8,
„message“: „Der Verweis „Variable „word““ erfordert einen Initialisierer.“,
„source“: „C/C++“,
„startLineNumber“: 11,
„startColumn“: 29,
„endLineNumber“: 11,
„endColumn“: 30
}
{
„resource“: „/Users/barbara/cpp/helloworld/helloworld.cpp“,
„owner“: „C/C++“,
„code“: „29“,
„severity“: 8,
„message“: „Es wurde ein Ausdruck erwartet.“,
„source“: „C/C++“,
„startLineNumber“: 11,
„startColumn“: 34,
„endLineNumber“: 11,
„endColumn“: 35
}
{
„resource“: „/Users/barbara/cpp/helloworld/helloworld.cpp“,
„owner“: „cpptools“,
„severity“: 4,
„message“: „range-based for loop is a C++11 extension [-Wc++11-extensions]“,
„source“: „gcc“,
„startLineNumber“: 11,
„startColumn“: 29,
„endLineNumber“: 11,
„endColumn“: 29
}
As I’m new to c++ on mac, I have no idea how to solve this.
Any advice would be highly appreciated 🙂
Danke. Hat super funktioniert.
Hinweis: ich hab einen Raspi 4 und die Programmausführung war extrem langsam.
Die „hardware acceleration“ abzuschalten hat geholfen.
Zu finden unter
https://ratticon.com/how-to-fix-slow-visual-studio-code-on-raspberry-pi-4/