Wer kennt viele kleine Helferlein?

Das schnellste Werkzeug in Eclipse ist die Tastatur

Matthias Kempka

Die Java Development Tools machen Eclipse zu einer mächtigen IDE für Java. Wer sie kennt, kann effizient arbeiten. Zusätzliche Plug-ins lassen fast keine Wünsche offen, und das Ausprobieren solcher Plug-ins muss nicht notwendigerweise mit dem Eclipse-typischen Installationsaufwand verbunden sein.

Meine Arbeit mit Eclipse

Mein Programmieralltag orientiert sich hauptsächlich an den Mitteln, die mir das JDT zur Java- und das PDE zur Plug-in-Entwicklung zur Verfügung stellen.
Ich entwickle Test-first. Damit ist ein Großteil meiner Aktionen von den Tastenkürzeln für die Refactorings und von der JUnit View geprägt. Das Tastenkürzel für Quickfixes (STRG-1) bietet ausgesprochen oft nützliche Aktionen an (s. Kasten), auch wenn keine Kompilierfehler oder -warnungen vorhanden sind.

Die JUnit View halte ich während des Programmierens meist abwechselnd mit dem Package Explorer in der linken Tab Group sichtbar. Neben den Ergebnissen des letzten Testlaufs benutze ich die Test- und Stacktrace-Anzeigen der JUnit View als Einstiegspunkte für Quellcode-Navigation. Den Quellcode navigiere ich vornehmlich durch Springen an die Deklaration (F3), Aufruf der Call Hierarchy (STRG-ALT-H) und die Vor- und Zurück-Funktionen (STRG-ALT-links, STRG-ALT-rechts). Wenn es um die Nutzung von Konstanten oder Typen geht, ist die Suche nach Referenzen (STRG-ALT-G) gelegentlich besser geeignet als die Call Hierarchy. Wenn ich bereits weiß, an welche Stelle im Code ich will, suche ich nach einem Typ (STRG-SHIFT-T) und benutze dort die inkrementelle Suche (STRG-J).

Beim Programmieren von Eclipse-Plug-ins kommt es oft vor, dass ich nachschauen möchte, wie „die anderen“ etwas machen. Dabei hilft die Suche nach Unterklassen bzw. Implementierungen (STRG-T oder F4). Voraussetzung für eine erfolgreiche Suche in den Quellen installierter Plug-ins ist allerdings, dass diese in der Java-Suche eingeschlossen sind. Dies kann in der Plug-in View mit dem Kontextmenu auf dem jeweiligen Plug-in erledigt werden. Ich schließe grundsätzlich alle Plug-ins in die Java-Suche mit ein. Damit enthält sie neben dem Inhalt meines Workspaces auch die Referenzimplementierungen der meisten Extension Points sowie anderen Quellcode der Plattform.

Nützliche Informationen während des Lesens von Quellcode gibt mir neben dem obligatorischen Outline wahlweise die offene Declaration View oder die Javadoc View unterhalb des Editors. Die Declaration View zeigt die Implementierung oder Deklaration des ausgewählten Java-Elements, also beispielsweise Methodenimplementierungen oder Werte von Konstanten. Analog zeigt die Javadoc View die Dokumentation des ausgewählten Java-Elements. Natürlich sehe ich die Javadocs auch in den Tooltips über Java-Elementen, die ich übrigens häufiger nutze als die View. Bei längeren Beschreibungen ist die Darstellung in der View aber deutlich bequemer zu lesen.

Auf dem amerikanischen Tastaturlayout sind die eckigen und geschweiften Klammern ohne Verrenkungen mit dem kleinen Finger der rechten Hand zu erreichen. Dieses Layout erleichtert mir das Tippen von neuem Code erheblich, obwohl ich selbst zum Editieren selten viel tippen muss. Die Autovervollständigung (STRG-leer) gehört wohl mit zu dem, was neue Eclipsebenutzer als Erstes zu schätzen lernen, und nimmt auch am meisten Tipparbeit ab. Darüber hinaus bietet das Kontextmenu für Quellcodeveränderung eine Fülle spezifischer Editierhilfen an. Meine Favoriten aus diesem Menu sind die Funktionen zum Erstellen von Gettern, Settern und Konstruktoren.

Eclipse-Konfigurationen

Als ich meine Arbeit bei Innoopract begann, war mein Arbeitsablauf mit Eclipse bereits eingeschliffen. Unter anderem hatte ich mit dem Installieren neuer Versionen eine Menge Erfahrung gesammelt. Eine neue Version von Eclipse herunterzuladen und so zu installieren, dass ich damit arbeiten konnte, war eine Sache von wenigen Minuten. Ärgerlich war die Installation der Handvoll Plug-ins, die ich außerdem nutzte. Copy and Paste von Update-Site-Adressen ist dabei noch eine angenehme Aufgabe. Manche Plug-ins bieten gar nicht erst eine Update-Site an und beschränken sich stattdessen auf bereitgestellte Zip-Dateien. Einige Downloads erwarten, direkt ins Eclipse-Verzeichnis entpackt zu werden, andere entpacken dieses mit. Das Umherkopieren von JARs gehörte für mich zum völlig normalen Arbeitsablauf einer Eclipse-Installation.

Benutzerfreundlicher ist da der Download-Service Yoxos On Demand (http://ondemand.yoxos.com/), den Innoopract zeitnah mit meinem Arbeitsbeginn veröffentlichte. Der Benutzer sucht sich seine Plug-ins aus und entscheidet, ob er die Entwickler Bundles (Dokumentation und Quellen) mit installieren will. Die Abhängigkeiten werden automatisch aufgelöst, und der Benutzer erhält eine Zip-Datei, die Eclipse und alle gewünschten Plug-ins enthält. Zum Herunterladen neuer Eclipse-Versionen benutze ich jetzt diesen Dienst. Oft ist das nicht. Denn mit Yoxos kann ich Plug-ins nachinstallieren und mein bestehendes Eclipse und alle Plug-ins auf regelmäßig erscheinende neue Versionen aktualisieren.

Die einfache Installation neuer Plug-ins beeinflusste meine Bereitschaft, bislang unbekannte Plug-ins auszuprobieren, erheblich. So besteht meine Installation jetzt aus einer großen Menge kleiner Helferlein, die ich mehr oder weniger bewusst nutze. Deren Kern bilden Checkstyle zum Überprüfen der Coding Conventions und YellowCount zum Anzeigen der Anzahl-Warnungen im Workspace. Weniger häufig nutze ich Coverlipse zum Anzeigen von Testüberdeckungen und TeXlipse als Editor für einfache LaTeX-Dateien. Im Hintergrund helfen mir u.a. QuickImage, die TinyTools und die TinyHTMLTools immer dann, wenn ich gerade eine ihrer Funktionen benötige.

Wichtige Plug-ins

  • Checkstyle: Überprüfen von Coding Conventions und Programmierstil
  • Yellowcount: Anzeigen der Anzahl-Warnungen im Workspace (Ziel: 0)
  • Coverlipse: visualisiert Testüberdeckungen in der IDE, bislang nur für JUnit 3-Tests
  • Bytecode Outline: zeigt den Bytecode zur gerade editierten Java-Datei an; nur nützlich, wenn man gerade mit Bytecode arbeitet
  • Metrics Plug-in: berechnet die Metriken von Robert Martin, leider fest eingestellt mit Java-Paketen als Modul; nützlich zum Visualisieren von Paket- und Klassenabhängigkeiten
  • Subversive: für die Arbeit mit Subversion besser geeignet als Subclipse
Geschrieben von
Matthias Kempka
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.