Suche
Kolumne

Lagebericht Eclipse-IDE: Gradle News und Verbesserungen im Eclipse Debugger

Lars Vogel

© SuS_Media

Nach dem eher politischen Inhalt des letzten Teils der Kolumne geht es diesmal wieder um die technischen Entwicklungen der Eclipse IDE. Die Arbeiten an der neuen Version 4.8 sind bereits in vollem Gange und es ist wichtig, dabei auf dem Laufenden zu bleiben. Das Eclipse-Projekt hat außerdem beschlossen, ab 2018 alle drei Monate ein neues Release mit allen Neuerungen zu veröffentlichen, die bis dahin entwickelt sind. Daraus folgt, dass die Leser dieser Kolumne in Zukunft immer nur noch ein paar Wochen warten müssen, um in den Genuss der hier beschriebenen Änderungen zu kommen.

Verbesserungen im Debugging mit Eclipse

Debugging mit Eclipse: Das ist zurzeit keine sonderlich gute Erfahrung. Das geht schon aus der Default Perspective (Standardansicht) aus Abbildung 1 hervor. Das Wichtigste beim Debugging ist ja eigentlich der Code, aber dafür ist hier fast kein Platz vorgesehen. Man kann sich zu Recht fragen, was man sich damals eigentlich dabei gedacht hat. Wahrscheinlich wurde das Ganze basierend auf der Annahme designt, dass sich das jeder Entwickler doch selbst richtig positionieren kann. Zum Glück hat sich diese Einstellung in den letzten Jahren im Eclipse-Projekt geändert und man will heute den Benutzern lieber ab Werk sinnvolle Defaults liefern.

Eclipse Lagebericht - Abb. 1: Die Standardansicht für das Debugging

Abb. 1: Die Standardansicht für das Debugging

 

Die Diskussion zum Redesign ist aktuell noch nicht abgeschlossen, aber wahrscheinlich wird das Ergebnis wie in Abbildung 2 aussehen. Der Screenshot kommt direkt aus dem Bugreport und man sieht, dass hier schön viel Platz für den Code eingeplant wurde. Die wichtigsten Debug Views sind dabei direkt verfügbar, und die Änderung zur Java-Ansicht ist viel geringer, sodass der Kontextwechsel weniger schwerfällt.

Abb. 2: Das voraussichtlich neue Design für das Debugging

Ein weiteres Problem mit dem Debuggen in der aktuellen Eclipse IDE ist, dass das Menü Run derzeit recht überladen ist. Es existieren bereits Vorschläge in der Community, wie man sich dieses Problems annehmen könnte. Auch diese Diskussion ist noch in vollem Gange, aber es ist recht wahrscheinlich, dass wir die Änderungen für Version 4.8 implementieren.

Der katastrophale Vorschlag, ein Top-Level-Menü namens Debug zu schaffen, aber einige Menüeinträge für das Debugging dennoch im Run-Menü zu lassen, wurde zum Glück (wahrscheinlich) verhindert. Es ist zudem gut möglich, dass der Menüpunkt Run zukünftig in Launch umbenannt wird. Die Community steht hier allerdings noch ganz am Anfang einer Einigung.

Alexander Kurtakov von Red Hat fixte für Eclipse 4.8 auch endlich die Möglichkeit, Lambdaausdrücke zu debuggen. Das war leider bis dato nicht möglich. Lediglich eine Zeile Code war nötig, um das Problem zu fixen: Es wird nun einfach eine andere JDT-Konstante verwendet. Peinlich, dass ein so simpler Bugfix so lange auf seine Umsetzung warten musste.

Solche Situationen sollten in Zukunft allerdings seltener vorkommen, da auch die JDT-Projekte zusammengelegt wurden und damit mehr Committer an solchen Stellen im Code und an Bugfixes arbeiten können. Es wirkt auch so, als seien die JDT-Entwickler viel offener für externe Contributors geworden. Patches werden z. B. mittlerweile viel schneller bearbeitet als früher.

Im Vergleich zu anderen IDEs werden Variablenwerte im Debugger von Eclipse noch nicht direkt angezeigt. Daran muss dringend gearbeitet werden. Hoffen wir, dass auch das irgendwann jemand angeht, denn unlösbar ist das Problem sicherlich nicht, wie eine aktuelle Twitter Kommunikation zeigt.

Gradle gibt mir Eier, Wolle, Milch und Fleisch

Gradle ist ja bekanntlich die eierlegende Wollmilchsau der Build-Tools. Während wir bei unseren Firmenkunden und beim Eclipse-Projekt noch viel mit Maven arbeiten, macht Arbeiten mit Gradle einfach mehr Spaß. Kurze Build-Skripte, wenig Redundanzen, schnelle Delta-Builds und guter IDE-Support sind nur einige der Gründe dafür, weshalb Gradle aktuell unser liebstes Build-Tool ist.

Das aktuelle Gradle-Release für die Eclipse IDE steigert die Begeisterung unseres Teams dabei noch mal deutlich. Endlich kann Gradle den Build-Pfad in Eclipse separat halten. Der Klassenpfad von Tests ist also nicht mehr im Main Source Tree verfügbar. Das JDT-Team arbeitet aktuell auch an einem ganz ähnlichen Konzept. Das klingt erst einmal nicht so wichtig, wäre aber für alle Build-Systeme einschließlich Maven eine wirklich große Sache.

Die Eclipse IDE hat nun außerdem endlich ein erstes Syntax-Highlighting für Gradle Buildfiles. Das gibt es meines Wissens nach noch nicht in der IntelliJ IDEA oder der Netbeans IDE. Und last but not least kann Eclipse jetzt auch automatisch den Klassenpfad synchronisieren, wenn sich die Projektabhängigkeiten ändern. Derzeit muss man das noch über die Einstellungen aktivieren. Aber es ist zu hoffen, dass es in späteren Versionen Standard wird. In den zugehörigen Release Notes gibt es mehr zum Thema Gradle und auch eine Reihe von hilfreichen Screenshots.

Fazit: Es wird alles gut – und das schneller

Es ist erfreulich, dass langsam, aber sicher Eclipse-Altlasten wie der miserable Standard der Debug-Perspektive verschwinden. Leider kommen diese Dinge noch sehr langsam beim Endanwender an, nämlich einmal pro Jahr mit dem großen Simultaneous Release. Dass eine schnellere Kadenz neuer Versionen besser ist, zeigt das Eclipse Gradle Tooling oder auch das Git Tooling, die kürzere Releasezyklen haben. Aber bald wird alles schneller und damit besser: Ab 2018 wird das Eclipse-Projekt alle drei Monate ein Release freigeben, womit die Nutzer schneller in den Genuss neuer Features kommen.

 

Geschrieben von
Lars Vogel
Lars Vogel
Lars Vogel ist Geschäftsführer der vogella GmbH, die Kunden im Bereich Eclipse, Android und anderen Themen unterstützt. Als Project-Management-Committee-Mitglied, Eclipse-Projektleiter und Committer hilft er dem Eclipse-Projekt. E-Mail: lars.vogel@vogella.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: