La communauté Arduino, qui développe une série de cartes open source à base de microcontrôleurs, a publié l'IDE Arduino 2.3, un environnement de développement intégré (IDE) offrant une interface pour écrire du code, compiler, téléverser le firmware sur le matériel et interagir avec les cartes lors du débogage. Le développement du firmware est réalisé à l'aide d'une version allégée de C++ avec le framework Wiring. Le code de l'interface de l'IDE est écrit en TypeScript (JavaScript typé), et le backend est implémenté en Go. Le code source est distribué sous licence AGPLv3. Des packages prêts à l'emploi sont disponibles. Linux, Windows и macOS.
La branche Arduino IDE 2.x est basée sur l'éditeur de code Eclipse Theia et utilise la plateforme Electron pour créer l'interface utilisateur (la branche Arduino IDE 1.x était un produit autonome écrit en Java). La logique associée à la compilation, au débogage et au chargement du firmware est déplacée vers un processus d'arrière-plan distinct, arduino-cli. Les fonctionnalités de l'IDE incluent : la prise en charge du protocole LSP (Language Server Protocol), l'autocomplétion adaptative des noms de fonctions et de variables, des outils de navigation dans le code, la prise en charge des thèmes, l'intégration avec Git, la prise en charge du stockage de projets dans le cloud Arduino et la surveillance du port série (Serial Monitor).

La nouvelle version ajoute un débogueur intégré aux fonctionnalités stables, prenant en charge le débogage en temps réel et l'utilisation de points d'arrêt. Ce débogueur repose sur un framework standard, ce qui facilite l'intégration du débogage pour toutes les cartes et l'utilisation de l'interface standard de l'IDE Arduino. Le débogage est actuellement disponible pour toutes les cartes Arduino basées sur le cœur Mbed, telles que GIGA R1 WiFi, Portenta H7, Opta, Nano BLE et Nano RP2040 Connect. Le débogage pour les cartes basées sur le cœur Renesas, telles que UNO R4 et Portenta C33, sera bientôt disponible, après quoi le débogage sera également disponible pour les cartes Arduino-ESP32.
Source: opennet.ru
