Nach drei Jahren Alpha- und Beta-Tests hat die Arduino-Community, die eine Reihe von Open-Source-Platinen auf Basis von Mikrocontrollern entwickelt, die stabile Version der integrierten Entwicklungsumgebung Arduino IDE 2.0 vorgestellt. Diese bietet eine Schnittstelle zum Schreiben von Code, Kompilieren, Hochladen von Firmware auf die Hardware und zur Interaktion mit den Platinen während des Debugging-Prozesses. Die Firmware wird in einer eigens entwickelten Programmiersprache geschrieben, die C ähnelt und eine schnelle Erstellung von Programmen für Mikrocontroller ermöglicht. Der Code der Entwicklungsumgebung ist in TypeScript (typisiertes JavaScript) geschrieben, während das Backend in Go umgesetzt ist. Der Quellcode wird unter der Lizenz AGPLv3 veröffentlicht. Fertige Pakete für Linux, Windows und macOS sind bereitgestellt.
Der Branch von Arduino IDE 2.x ist ein völlig neues Projekt, das keinerlei Codeüberschneidungen mit Arduino IDE 1.x aufweist. Für die Basis von Arduino IDE 2.0 wurde der Eclipse Theia Code-Editor verwendet, während die Desktop-Anwendung mit der Electron-Plattform erstellt wurde (Arduino IDE 1.x ist in Java geschrieben). Die Logik, die mit der Kompilierung, dem Debugging und dem Hochladen von Firmware zu tun hat, wurde in einen separaten Hintergrundprozess namens arduino-cli ausgelagert. Der Benutzeroberfläche wurde, wo immer möglich, ein vertrautes Aussehen beibehalten, während gleichzeitig Modernisierungen vorgenommen wurden. Benutzer von Arduino 1.x haben die Möglichkeit, auf den neuen Branch zu aktualisieren und bestehende Boards sowie Funkbibliotheken zu konvertieren.
Zu den auffälligsten Änderungen für die Benutzer gehören:
- Eine schnellere, reaktionsfähigere und modernere Benutzeroberfläche mit mehreren Informationsansicht-Modi.
- Unterstützung für die automatische Vervollständigung von Funktions- und Variablennamen unter Berücksichtigung des vorhandenen Codes und der angeschlossenen Bibliotheken. Fehlermeldungen während der Eingabe werden angezeigt. Die mit der Semantik-Analyse verbundenen Funktionen wurden in eine Komponente ausgelagert, die das LSP (Language Server Protocol) unterstützt.

- Navigation durch den Code. Im Kontextmenü, das beim Rechtsklick auf eine Funktion oder Variable angezeigt wird, finden Sie Links, um zur Zeile zu gelangen, in der die gewählte Funktion oder Variable definiert ist.

- Integrierter Debugger, der Live-Debugging und die Verwendung von Haltepunkten unterstützt.
- Unterstützung für den Dunkelmodus.

- Für Personen, die an Projekten auf verschiedenen Computern arbeiten, wurde die Unterstützung für das Speichern der Arbeit in der Arduino Cloud hinzugefügt. Auf Systemen, auf denen die Arduino IDE 2 nicht installiert ist, können Sie den Code über die Weboberfläche des Arduino Web Editors bearbeiten, die auch Offline-Betrieb unterstützt.
- Neue Board- und Bibliotheksmanager.
- Integration mit Git.
- Überwachungs-system für den seriellen Port (Serial Monitor).
- Diagramm-Builder (Plotter), der es ermöglicht, von der Platine zurückgegebene Variablen und andere Daten in Form eines anschaulichen Diagramms darzustellen. Gleichzeitig können der textuelle Output und das Diagramm angezeigt werden.

- Integrierter Mechanismus zur Überprüfung und Bereitstellung von Updates.
Quelle: opennet.ru




