Forum: Compiler & IDEs Arduino in VSCode unter Linux


von makroled (Gast)


Lesenswert?

Hi

Ich wollte mir mal das Arduino-Plugin für VSCode ansehen, weil die 
Arduino IDE als Editor leider nicht viel taugt (wenn man Tools wie 
VSCode oder IntelliJ gewohnt ist).

Unter der Linuxinstallation finde ich das Plugin nur als Teil des 
Arduino Extension Pack. Es öffnet mir jetzt zwar die sketches und 
erkennt sie als C++, jedoch befinden sich nicht, wie beschrieben am 
unteren Rand die Boardauswahl oder sonstiges. Ich finde auch sonst 
nirgendwo Einstellmöglichkeiten oder eine Uploadfunktion.

Weiß da jemand weiter? Oder kann andere Tools mit besserer Developer 
experience empfehlen?

Disclaimer: Mir von Arduino als Plattform abraten bringt mich nicht 
weiter. Ich hantiere mit verschiedenen Controllertypen bei denen ich 
mich nicht in die jeweiligen Architekturen und Toolchains einarbeiten 
will und die Arduino APIs genau das sind, was ich brauche. Nur eben die 
IDE finde ich unerträglich. Und VSCode wäre mein Favorit.

von makroled (Gast)


Lesenswert?

Ich bin einen Schritt weitergekommen. PlatformIO scheint das Werkzeug zu 
sein, wonach ich suche. Das ist aber auch nicht out-of-the-box 
installierbar in VSCode. Man muss sich die Extension händisch 
herunterladen und installieren und dafür braucht man zunächst mal die ms 
cpptools. Die man auch nicht im Marktplatz findet und manuell 
installieren muss.

Bin noch dabei, mich zu orientieren. Aber der erste Eindruck ist gut.

von Ben K. (bkaiser)


Lesenswert?

Hallo,

1) VSCode installieren
2) Starten, unter Extensions (Icon links mit so gestapelten Boxen) nach 
"platformio" suchen und installieren klicken
3) Den Anweisungen folgen (VSCode muss ggf. neu gestartet werden)
4) ACHTUNG: Sollte eine Python Fehlermeldung kommen (z.B. bei Ubuntu) 
bei der Installation von PlatformIO, muss das "python3-venv" Paket 
installiert werden ("apt-get install python3-venv" auf der Console)

Fertig.

: Bearbeitet durch User
von makroled (Gast)


Lesenswert?

Ben K. schrieb:
> Hallo,
>
> 1) VSCode installieren
> 2) Starten, unter Extensions (Icon links mit so gestapelten Boxen) nach
> "platformio" suchen und installieren klicken
> 3) Den Anweisungen folgen (VSCode muss ggf. neu gestartet werden)
> 4) ACHTUNG: Sollte eine Python Fehlermeldung kommen (z.B. bei Ubuntu)
> bei der Installation von PlatformIO, muss das "python3-venv" Paket
> installiert werden ("apt-get install python3-venv" auf der Console)
>
> Fertig.

Wie gesagt, unter meiner Linux-Installation taucht die Extension nicht 
auf. Daher musste ich manuell herunterladen und installieren.

So richtig rund scheint das dann aber doch nicht zu sein. Solange ich 
alles in einer main.cpp habe, funktioniert es super. Wenn ich anfange zu 
modularisieren will es die includes zusätzlich installierter libs (z.B. 
ESP8266WiFi.h) in meinen header und source files nicht mehr akzeptieren. 
Womöglich ein bug in der cpp Extension.

von makroled (Gast)


Lesenswert?

Was sehr bitter wäre, wenn sich das nicht lösen lässt, weil 
modularisierter Code war einer der Hauptgründe, weswegen ich von der 
Arduino IDE weg will.

von makroled (Gast)


Lesenswert?

Gelöst: Habe den Workspace geschlossen und das Projekt in einem neuen 
Fenster mit dem PlatformIO-Dialog erneut importiert. Danach waren die 
Fehler verschwunden.

von J. S. (jojos)


Lesenswert?

Die Libraries möchte PIO in der platformio.ini deklariert haben. Das hat 
den Vorteil das Projekte einfacher publiziert werden können.
Mit der ini sollte man sich etwas beschäftigen, im PIO Repo sind auch 
reichlich Beispiele dazu drin.

von makroled (Gast)


Lesenswert?

J. S. schrieb:
> Die Libraries möchte PIO in der platformio.ini deklariert haben. Das hat
> den Vorteil das Projekte einfacher publiziert werden können.
> Mit der ini sollte man sich etwas beschäftigen, im PIO Repo sind auch
> reichlich Beispiele dazu drin.

das war der Fall:
1
lib_deps = 
2
  me-no-dev/ESPAsyncTCP@^1.2.2
3
  me-no-dev/ESP Async WebServer@^1.2.3

Scheint aber ja was anderes gewesen zu sein. Die IDE hat sich vermutlich 
irgendwie nicht richtig mit dem Projekt synchronisiert, was nach einem 
Neuimport dann wohl geklappt hat.

von Schlaumaier (Gast)


Lesenswert?

makroled schrieb:
> Ich wollte mir mal das Arduino-Plugin für VSCode ansehen, weil die
> Arduino IDE als Editor leider nicht viel taugt (wenn man Tools wie
> VSCode oder IntelliJ gewohnt ist).

Die Arduino 2.0 IDE kann das.

Fühlt sich an wie Visual-Basic mit C Code ;)

Und läuft unter Linux genau wie unter Windows.

Hab sie in einer VM laufen.  Hauptsystem Win-7

von J. S. (jojos)


Lesenswert?

Trotzdem komisch, die Abhängigkeiten werden beim Build geprüft. 
Änderungen an der ini sind legal und werden berücksichtigt, offene 
Dateien sollten vor dem Build auch automatisch  gespeichert werden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.