Kolumne

Lagebericht Eclipse-IDE: Usability-Verbesserungen in Eclipse Photon

Lagebericht Eclipse-IDE: Usability-Verbesserungen in Eclipse Photon

Kolumne

Lagebericht Eclipse-IDE: Usability-Verbesserungen in Eclipse Photon


Wenn Sie diesen Artikel lesen, sollte Eclipse 4.8 (Photon) endlich erschienen sein. Wie Sie sicherlich inzwischen selbst feststellen konnten, ist die Eclipse IDE sehr viel schneller geworden und hoffentlich an vielen, vielen, kleineren Stellen auch besser benutzbar. Sicherlich finden Sie im aktuellen Magazin auch andere Erfahrungsberichte, was sich in Photon so getan hat. Also viel Spaß mit dem neuen Eclipse! Wir schauen uns in dieser Kolumne an, was man neuerdings im Texteditor so machen kann.

Wie schon häufiger in dieser Kolumne beschrieben, ist Usability neben dem Thema Performance inzwischen eines der Schlüsselthemen der Eclipse-Entwicklung. Themen in der Vergangenheit waren aktionsorientierte Labels auf Buttons, Operationen möglichst nicht blockierend zu machen, einfacherer Projektimport, eine verbesserte Debug-Perspektive, vereinfachte Menüstrukturen, schnelleres Feedback auf Useraktionen und vieles mehr. Auch in weiteren Eclipse-DIE-Projekten ist da viel passiert, beispielsweise im Git Tooling, im Gradle Tooling, in der Spring Tools Suite oder im PHP Tooling, das mit Eclipse Photon komplett auf asynchrone Code Completion umgestellt wurde.

Neu in Eclipse Photon ist auch eine erweiterbare „Tip of the Day“-Funktionalität, die primär von Wim Jongman aus den Niederlanden entwickelt wurde (Abb. 1). Hier war ich in den Code Review involviert und habe geholfen, das Framework in den Standard zu überführen. Das Ganze ist gelungen, sieht schön aus und lässt sich einfach mit neuen internetbasierten Inhalten erweitern. Ein großes Dankeschön an Wim Jongman, der damit sicherlich Eclipse-Neueinsteigern, aber auch Eclipse-Veteranen einige coole Eclipse-Kniffe verraten wird.

Abb. 1: Tip of the Day

Inline-Informationen à la Microsoft Visual Studio Code CodeLens

Natürlich gibt es immer auch andere Verbesserungsmöglichkeiten. Hier zeigt beispielsweise der Editor von Microsoft Visual Studio innovative Ansätze. Visual Studio Code bringt als innovatives Feature die sogenannten CodeLens mit. Diese blenden Zusatzinformationen in den aktuellen Texteditor ein, etwa, wie oft eine Methode aufgerufen wird (Abb. 2).

Abb. 2: CodeLens blenden Zusatzinformationen in den aktuellen Texteditor ein

Andere Tools wie IntelliJ nutzen ähnliche Ansätze, um Zusatzinformationen einzublenden. Zum Beispiel kann IntelliJ bei Methodenaufrufen den Parameternamen oder beim Debuggen die aktuellen Werte der Variablen anzeigen.

Minenarbeiter in Eclipse – Code Mining

Da sich Microsoft den Begriff CodeLens markenrechtlich hat schützen lassen, nennt Eclipse die Erweiterungen Code Mining. Das Eclipse-Texteditor-Frame wurde im Eclipse-Photon-Release auf die Unterstützung von Code Mining vorbereitet, der regelmäßige Leser dieser Kolumne weiß darüber natürlich Bescheid. Primär hat der Contributor Angelo Zerr die Arbeiten durchgeführt und Mickael Istria von Red Hat hat die entsprechenden Patches reviewed. Ich habe als Tester der Funktionalität geholfen, viele kleine Bugs vorzeitig zu finden und das Framework durch neue Anforderungen weitergetrieben. Aber erst mal installieren, dann kann man parallel ausprobieren, wie das funktioniert.

Installation von Code Mining

Die JDT-Code-Minining-Erweiterungen sind (noch) nicht Teil der Standard-Eclipse-Auslieferung. Dennoch kann man sie in Eclipse Photon installieren und nutzen. Eine aktuelle Installationbeschreibung findet sich hier. Aktuell reicht es aber, unter HELP, INSTALL NEW SOFTWARE… die Update Site einzugeben und alles von ihr zu installieren. Nach der Installation kann man Code Mining einschalten (Abb. 3).

Abb. 3: Code Mining einschalten

Code Mining nutzen

Nach der Aktivierung zeigt Eclipse Zusatzinformationen im Texteditor an, die nicht Teil des Codes sind. Man kann sich beispielsweise die Git-Information anzeigen lassen, wer wann eine Methode editiert hat. Für JUnit-Tests wird angezeigt, ob sie erfolgreich ausgeführt wurden. Zusätzlich lassen sie sich direkt starten bzw. debuggen (Abb. 4).

Abb. 4: „SearchPatternAuto“

Wie man im letzten Screenshot auch schon bemerkt haben sollte, sieht man – wenn man alle Optionen aktiviert hat – auch, wie der Konstruktor- oder Methodenparameter heißt bzw. von welchem Typ er ist (Abb. 5). Das erleichtert das Lesen von Code.

Abb. 5: Definierte Konstruktor- oder Methodenparameter

Daneben kann man sich für Blöcke anzeigen lassen, was im öffnenden Block steht. Damit lässt sich beispielsweise schneller herausfinden, welches if-Statement zu einer schließenden Klammer gehört (Abb. 6).

Abb. 6: Blöcke anzeigen lassen

Last but not least erlaubt es Angelos Erweiterung auch, die Variableninhalte beim Debuggen direkt im Texteditor zu sehen (Abb. 7).

Abb. 7: Variableninhalte beim Debuggen direkt im Texteditor einsehen

Zusammenfassung

Ob man CodeLens oder Code Mining mag, hängt ein wenig von den persönlichen Präferenzen ab. CodeLens ist wohl bei vielen Visual-Studio-Code-Usern ein eher ungeliebtes Feature. Schön ist aber, dass das Eclipse-Framework es mit Photon erlaubt, diese auch einzusetzen – beim Debuggen oder bei der Analyse von komplexen if-Blöcken wird es nach meiner Erfahrung schnell unersetzlich. Angelo arbeitet immer noch daran, weil er gerne per Code Mining Farben in CSS Files richtig anzeigen lassen möchte. Natürlich arbeiten er und das Team auch daran, seine GitHub-Erweiterungen bald in den Eclipse-Standard zu überführen.

Lars Vogel

Lars Vogel ist einer der aktivsten Eclipse-Platform-Committer und Geschäftsführer der vogella GmbH, die sich auf Eclipse- und Android-Premium-Schulungen und Entwicklungsunterstützung spezialisiert hat.


Weitere Artikel zu diesem Thema