Alternatywne środowiska do Arduino – Atom

Z pewnością zdecydowana większość użytowników Arduino używa domyślnego środowiska dla tej platformy, czyli Arduino IDE. Jest ono moim zdaniem bardzo mało user-friendly. Prawie nie pozwala na żadne rozszerzenia, nie można zintegrować z nim żadnych popularnych narzędzi programistycznych, a w dodatku nie wspomaga programisty (np. podpowiadaniem parametrów funkcji lub ich nazw). Nie wszyscy jednak wiedzą, że równie dobrze mogą używać innych edytorów. W tej mini serii chciałbym przybliżyć Wam kilka alternatyw dla Arduino IDE, a na pierwszy ogień wezmę pod lupę edytor Atom z dodatkiem PlatformIO.

Atom to edytor tekstu stworzony przez GitHuba. Wizualnie i funkcjonalnie podobny jest do Sublime Text. Można wgrywać do niego customowe skórki jak i dodatki rozszerzające funkcjonalność. Konfiguracja odbywa się przez plik tekstowy, który możemy sobie zapisać np. na Dropboxie i zawsze po np. świeżej instalacji systemu mieć swój ulubiony config bez przeklikiwania się przez milion okienek. Koncepcja, która przyświecała jego twórcom jest taka, że edytor powinien być prosty w obsłudze dla laika, ale jednocześnie być w pełni konfigurowalnym edytorem dla zaawansowanego użytkownika.

Instalacja

Instalacja Atoma z integracją Arduino jest dziecinnie prosta. Wchodzimy na stronę https://atom.io/, pobieramy instalator i uruchamiamy go. Następnie wchodzimy w ustawienia, a w nich w zakłądkę „Packages”. W wyszukiwarce wpisujemy platformio-ide i instalujemy dodatek po czym restartujemy program. W międzyczasie instalator zapyta nas o to, czy chcemy zainstalowac Clanga (narzędzie do podpowiadania składni).

Jeżeli się na to zdecydujemy to otworzy nam się strona, z której pobierzemy odpowiedni instalator. Po tym wszystkim restartujemy Atoma i możemy już przystąpić do pracy.

Pierwszy projekt

Po uruchominiu powinien ukazać nam się ekran główny PlatformIO. Wybieramy na nim New Project (lub importujemy jakiś inny projekt z Arduino IDE).

W okienku wybieramy typ naszej płytki oraz framework (Arduino). Po utworzeniu projektu będziemy mieli plik main.cpp w piszemy treść naszego programu dokładnie tak jak w Arduino IDE.

Oczywiście z poziomu PlatformIO Home możemy również zarządzać customowymi bibliotekami i płytkami.

Podpowiadanie

Znaczną przewagą Atoma nad Arduino IDE jest opcja podpowiadania kodu widoczna na poniższych zrzutach:

Jak widać podpowiadane są zarówno nazwy metod jak i ich parametry.

Problemy z wcięciami?

Atom posiada wbudowany formatter kodu, który przed użyciem trzeba przypisać do skrótu klawiszowego. Aby to zrobić wchodzimy w ustawienia, następnie w zakładkę Keybindings, po czym otwieramy „your keymap file”. Pojawi nam się sporo zakomentowanego kodu, który tak naprawdę jest instrukcją jak dopisywać swoje własne skróty. Aby przypisać autoformatowanie zaznaczenia po wciśnięciu kombinacji Ctrl + Alt + L dopisujemy na dole pliku takie linijki:

'atom-text-editor':
  'ctrl-alt-l': 'editor:auto-indent'

Po zapisaniu pliku z mapą klawiszy możemy zaznaczyć np cały kod (Ctrl + A) i automatycznie go sformatować:

Źle sformatowany kod

Integracja z gitem

Jako że Atom został stworzony przez GitHuba to bardziej niż oczywistym jest fakt, że posiada on wbudowaną integrację z gitem. Znajdziemy ją w prawym dolnym rogu.

W sidebarze, któy pojawi się z prawej strony widzimy zmiany, które nie są zastage’owane jak i te zastage’owane. Wystarczy dodać pliki, które chcemy zacommitować do staging area (enter), a następnie wpisać commit message i kliknąć przycisk „Commit to branch„.

System skórek

Korzystając z Arduino IDE jesteśmy skazani na jasną skórkę z zielonymi motywami. Nie każdemu to odpowiada, dlatego też w Atomie mamy do dyspozycji preinstalowaną jasną i ciemną skórkę ale także możemy dodać własne.

Serial monitor

Twórcy PlatformIO pomyśleli też o zaimplementowaniu monitora portu szeregowego, jednak niestety nie wyszło im to najlepiej i moim zdaniem monitor z Atoma jest mniej praktyczny niż ten z Arduino. Przede wszystkim jest on w terminalu i wysyła znak zaraz po wciśnięciu (a nie po zatwierdzeniu całości enterem).

Dodatki

Całe środowisko możemy dopasować pod siebie za pomocą systemu dodatków. Instalujemy je dokładnie tak, jak w pierwszym kroku instalwoaliśmy PlatformIO.

Podsumowanie

Myślę, że przesiadka z Arduino IDE na Atoma to coś, czego warto spróbować. Z pewnością zwiększy to wydajność pisania kodu jak i przyjemność z tego wynikającą. Nie jest to co prawda kombajn pokroju Visual Studio lub CLion (pochodna IntelliJ), ale do mniejszych projektów jest jak znalazł :)