Après trois ans de tests alpha et bêta, la communauté Arduino, qui développe une série de cartes ouvertes basées sur des microcontrôleurs, a présenté la version stable de l'environnement de développement intégré Arduino IDE 2.0, offrant une interface pour écrire du code, compiler, charger des firmwares sur le matériel et interagir avec les cartes lors du débogage. Le développement de firmwares se fait dans un langage de programmation spécialement créé, semblable au C, permettant de créer rapidement des programmes pour les microcontrôleurs. Le code de l'interface de l'environnement de développement est écrit en TypeScript (JavaScript typé), tandis que le backend est réalisé en Go. Les codes source sont distribués sous la licence AGPLv3. Des paquets prêts à l'emploi ont été préparés pour Linux, Windows et macOS.
La branche Arduino IDE 2.x est un projet entièrement nouveau, n'ayant aucune intersection de code avec Arduino IDE 1.x. L'éditeur de code Eclipse Theia a été utilisé comme base pour Arduino IDE 2.0, et l'application de bureau a été construite avec la plateforme Electron (Arduino IDE 1.x était écrit en Java). La logique liée à la compilation, au débogage et au chargement des firmwares a été séparée dans un processus d'arrière-plan distinct, arduino-cli. L'interface a été conservée autant que possible dans une apparence familière pour les utilisateurs, tout en étant modernisée. Les utilisateurs d'Arduino 1.x ont la possibilité de mettre à jour vers la nouvelle branche avec la conversion de leurs cartes et bibliothèques de fonctions existantes.
Parmi les changements les plus notables pour les utilisateurs :
- Une interface plus rapide, réactive et au design moderne avec plusieurs modes d'affichage des informations.
- Support de l'auto-complétion pour les noms de fonctions et de variables en tenant compte du code existant et des bibliothèques connectées. Alerte sur les erreurs lors de la saisie. Les opérations liées à l'analyse sémantique sont gérées par un composant supportant le protocole LSP (Language Server Protocol).

- Outils de navigation dans le code. Dans le menu contextuel affiché lors d'un clic droit sur une fonction ou une variable, des liens sont fournis pour accéder à la ligne où la fonction ou la variable sélectionnée est définie.

- Un débogueur intégré, supportant le débogage en temps réel et la possibilité d'utiliser des points d'arrêt.
- Support du mode sombre.

- Pour les personnes travaillant sur un projet sur différents ordinateurs, le support de la sauvegarde des travaux dans le cloud Arduino Cloud a été ajouté. Sur les systèmes sans Arduino IDE 2 installé, il est possible d'éditer le code via l'interface web Arduino Web Editor, qui prend également en charge le fonctionnement hors ligne.
- Nouveaux gestionnaires de cartes et de bibliothèques.
- Intégration avec Git.
- Système de surveillance du port série (Serial Monitor).
- Constructeur de graphiques (Plotter), permettant de présenter les variables retournées par la carte et d'autres données sous forme de graphique visuel. Il est possible de visualiser simultanément la sortie sous forme textuelle et graphique.

- Mécanisme intégré de vérification et de livraison des mises à jour.
Source : opennet.ru




