Espressif IDE <-> Visual Studio Code Plugin

Espressif stellt mit dem IDF die Espressif IDE zur Verfügung. Hierbei handelt es sich um eine Eclipse IDE mit vorinstalliertem Espressif Plugin. Dieses kann in einer (frei verfügbaren) Eclipse Installation auch per Market Place nachinstalliert werden.

Im ebenso freien Editor Visual Studio Code (VS Code) von Microsoft lässt sich ebenso ein Espressif Plugin (hier Extension genannt) installieren.

Im Buch habe ich in der Einleitung die Espressif IDE aufgrund der damaligen reiferen Version des Plugins. Die Beispiele habe ich aber auch alle in VS Code getestet. Derzeit verwende ich (wegen des Indexer-Problems) für meine Projekte eher VS Code.

Vor-/Nachteile Eclipse

  • (+) Vollwertige IDE, die auch von vielen anderen Herstellern verwendet wird (z.B. Texas Instruments).
  • (+) Debugger funktioniert hervorragend
  • (-) Der Indexer funktioniert nicht zuverlässig: es kann vorkommen, dass funktionsfähiger Code im Editor als fehlerhaft markiert wird. Ein Rebuild des Indexers behebt das Problem leider nicht zuverlässig.

Vor-/Nachteile VS Code

  • (+) Zunehmend verbreitet und beliebt, vor allem mit dunkler Skin
  • (+) Virtualisierung/Containerisierung des ESP-IDF möglich (aber noch etwas umständlich)
  • (-) Debugger arbeitet nicht zuverlässig
  • (-) Mehr Handarbeit bei den Projekteinstellungen (settings.json usw.)

Weitere Vor-/Nachteile nehme ich gerne in die Liste auf! 🙂

Anmerkung

Zum unzuverlässigen Debuggen unter VS Code gibt es seit V1.8.0 (Juli 24) eine gute Nachricht: Man kann den Eclipse CDT Debug Adapter verwenden, indem man in launch.json eine Konfiguration aufnimmt (siehe https://github.com/espressif/vscode-esp-idf-extension/pull/1131):

{     
"type": "gdbtarget",     
"request": "attach",     
"name": "Eclipse CDT Remote"   
},

Die gesamte launch.json ist damit:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "gdbtarget",
      "request": "attach",
      "name": "Eclipse CDT Remote"
    },
    {
      "type": "espidf",
      "name": "Launch",
      "request": "launch"
    }
  ]
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.