Im ersten Moment scheint die Eclipse als Framework für unterschiedliche Programmiersprachen eine gute Wahl zu sein. Gerade wenn man aus der Javaentwicklung kommt ist es schon fast gesetzt. Bei näherem Hinsehen gibt es dann doch ein paar Hürden, welche bei der Entwicklung nerven und den initialen Spaß rauben.
Sofern man mit C oder C++ nicht vertraut ist, wird man recht schnell bei Python als Programmiersprache landen. Dies ist völlig in Ordnung, jedoch muss die IDE danach ausgerichtet werden.
In der Folge habe ich mir 3 IDE’s einmal angesehen und ausprobiert.
Welche Anforderungen habe ich an die IDE gestellt?
– Syntaxhighlighting für die bessere Lesbarkeit
– Code Assistent um schnell verfügbare und geeignete Methoden zu finden
– Remote Debugging da der Code ja nicht auf dem Entwicklungsrechner läuft, sondern auf einem Raspi
– Verwaltung mehrerer Projekte
– Verwaltung von Abhängigkeiten/Libraries
– Gitintegration um eine Sicherung der Entwicklungen zu ermöglichen und keinen Datenverlust bei Rechnerwechsel zu erleiden
– Lokale Versionsverwaltung → falls man mal das Falsche gelöscht hat und noch einmal nachsehen möchte was da einmal stand
– Verbindungsverwaltung der unterschiedlichen Raspi
Ein Punkt ist dabei das Remote Debugging, dass mir bei der Eclipse ein paar graue Haare verschafft hat. Dies vorneweg, das haben andere Umgebungen besser gelöst.
Für die Eclipse gibt es entsprechende Plugins, welche helfen in der gewählten Programmiersprache Quellcode zu schreiben. Dennoch waren die Einstellungen und die Art und Weise wie Remote Debugging mit der Eclipse funktioniert sehr gewöhnungsbedürftig.
Folgende Plugins habe ich genutzt:
– Remote System Explorer um einen entsprechenden ssh Zugriff auf den Raspi herstellen zu können
– PyDev um in Python entwickeln zu können
Auf dem Raspi bringt die Vollinstallation ebenfalls einzelne Programmierumgebungen mit, welche vom Grundsatz funktionieren jedoch bei umfangreicheren Projekten ihre Schwächen haben. Eine Hauptschwäche war die Verwaltung von Projekten. Auf der anderen Seitehat nach meinem Dafürhalten eine IDE auf dem Ziel rechner nix zu suchen.
Ein weiterer Aspekt ist, daß nachdem der erste Raspi am laufen ist wird der 2te Raspi folgen (ich gehe mal davon aus: Es hat Spaß gemacht!)und wer möchte, dann immer wieder alles von vorn beginnen.Vor diesem Hintergrund ist es sinnvoll eine Konfiguration zu wählen, welche nur den Quellcode auf den Raspi schafft, welcher dann remote ausführbar ist.
Mit der Eclipse hatte ich bei diesen Anforderungen so meine Schwierigkeiten. Weiterhin ist es gewöhnungsbedürftig die IP Adresse des Remoterechners mit der IDE in den Quellcode auf dem Zielrechner zu schreiben. Es war temporär möglich den Code auf dem Raspi zu debuggen, jedoch war dies nicht ohne weiteres möglich, da kommen Alternativen zu Eclipse deutlich besser damit klar.
Aus diesem Grund war es sinnvoll Alternativen auszuprobieren.
– Visual Studio Code
– PyCharm
– Visual Studio 2019 Community Edition
Am Ende des Tages bin ich mit PyCharm am besten klar gekommen, auch wenn Funktionen wie ssh nur mit der Bezahlversion bereit stehen.
Darüber hinaus gibt es auch unterschiedliche Anbieter die es eine ermöglichen Python zu lernen, ohne dass man irgendeine Software installieren muss.
Wie man ssh Verbindungen in den einzelnen Umgebungen mit lokal installierter IDE anlegen kann, wird auf den folgenden Seiten beschrieben:
Visual Studio 2019 Community Edition
https://docs.microsoft.com/de-de/cpp/linux/connect-to-your-remote-linux-computer?view=msvc-160
PyCharm
https://www.jetbrains.com/help/pycharm/configuring-remote-interpreters-via-ssh.html
Visual Studio Code
https://code.visualstudio.com/docs/remote/ssh-tutorial
https://code.visualstudio.com/blogs/2019/10/03/remote-ssh-tips-and-tricks
Arbeiten mit PyCharm
Der Quellcode wird nach jeder Änderung auf den Raspi kopiert bzw. kann dieser mittels Deployment(PyCharm) sehr schnell auf den Rechner geschafft werden und steht zur Ausführung bereit.
Der Import der Konfiguration des Remoterechners wird automatisch durchgeführt. Hierzu ist der Remoterechner der IDE bekannt gemacht werden.→ Screen Konfiguration
Auch Github ist einfach integrierbar, sodaß der Quellcode nach einem Rechnerwechsel direkt auf die neue Umgebung gezogen bzw. gemeinsam an Projekt gearbeitet werden kann.