Eclipse als IDE und Plattform

Die Eclipse bringt Licht ins Dunkel

Stefan Reichert

Der Begriff Eclipse wird sehr unterschiedlich interpretiert. Die häufigste Assoziation mit Eclipse ist die einer integrierten Entwicklungsumgebung (IDE). Andere verbinden mit Eclipse eher das Eclipse-Ökosystem, das eine sehr gut funktionierende Symbiose aus unterschiedlichen Mitwirkenden darstellt. Ich verstehe unter Eclipse primär eine sehr flexible und stabile Plattform, die mir das Arbeiten in vielerlei Hinsicht erleichtert.

Der klassische Weg zu Eclipse ist selbstverständlich der über die IDE, genau so war es auch bei mir. Der WSAD (WebSphere Application Developer) von IBM war damals bei der Entwicklung von J2EE-Anwendungen die IDE schlechthin. Verwirrend fand ich zu Beginn das UI-Konzept. Die J2EE-Perspektive war als Standard eingestellt, und ich fragte mich beim ersten Anblick der Oberfläche zunächst, wo sich denn wohl meine ganzen Files befinden. Mittlerweile möchte ich die Dynamik und Flexibilität des UIs um keinen Preis mehr missen, aber damals war es eher gewöhnungsbedürftig. Übrigens kann eine ähnliche Reaktion auch heute noch beobachtet werden, wenn man einem Kunden eine RCP-Applikation vorstellt.

Eclipse wird erwachsen – Eclipse 3.0

Ein wirklich bedeutender Schritt war das Release 3.0. Nervige Nebeneffekte wie der modale Dialog „Compiling Workspace.“, der zum Kaffeekochen einlud, da nicht einmal das Minimieren der IDE ein Weiterarbeiten mit anderen Programmen ermöglichte, wurden eliminiert und durch intelligente Konzepte wie das Jobs API behoben. Außerdem sorgte die Öffnung der Eclipse als Plattform für weitere positive Nebeneffekte. Die Erweiterung durch eigene Plug-ins wurde deutlich vereinfacht. Zudem wurde die Eclipse als Plattform auch für Software im Enterprise-Umfeld interessant. Und so kam es, dass sich mein Verständnis der Eclipse als reine „IDE that makes the developer smile“ hin zur „platform that makes the developer smile“ verändert hat.

Meine Eclipse IDE

Die Freude an der IDE beruht auf zwei wesentlichen Dingen: Die Eclipse Features und die zusätzlichen Plug-ins. Zunächst ein paar Worte zu den Features. Ich arbeite unter Windows XP und unsere Enterprise-RCP-Anwendung basiert auf dem Release 3.1.2. Wir hatten zwischenzeitlich überlegt, die Software auf 3.2 zu heben, haben uns aber aufgrund anderer Prioritäten dagegen entschieden. Also entwickeln wir der Einfachheit halber die Software auch mit dem Release 3.1.2, obwohl natürlich auch mit der 3.3 IDE für eine 3.1.2-Plattform entwickelt werden kann. Das mutet zwar etwas antik an, gerade wenn ich für mein privates Open-Source-Projekt „Wicked Shell“ das aktuelle Eclipse 3.3 Release mit den schicken neuen Features verwende, aber dennoch überzeugen einige Key Features der Eclipse, die die Arbeit wirklich gut unterstützen.

Kein kalter Kaffee – der Java-Editor

Was ich am Java-Editor mag, ist die intuitive Unterstützung. Klar, Content Assist und Code Templates sind mittlerweile ein alter Hut, aber haben Sie sich schon mal den Quick Fix angeschaut? Ein Druck auf CTRL+1 bietet häufig wesentlich mehr als manch einer erwarten würde. Automatische Variablen bzw. Feldzuweisungen, Einfügen von Try-Catch-Blöcken bzw. Hinzufügen der entsprechenden Throws-Definitionen oder Vervollständigen von Type Casts sind nur drei kleine Beispiele, die intelligent zur Verfügung gestellt werden und die Tipparbeit wesentlich erleichtern. Darüber hinaus gibt es zahlreiche weitere sinnvolle Tastenkombinationen. Die Kombination CTRL + 2, R verweist auf das „Rename Local“. Wählt man diese Kombination, dann werden sämtliche Textpassagen, die identisch zur gerade gewählten Passage sind, in der aktuellen Datei erfasst und simultan geändert. Sehr gut eignet sich das, um Variablen umzubenennen. Für das Umbenennen einer Variablen im gesamten Workspace dient die Tastenkombination ALT + SHIFT + R. Erwähnenswert sind noch zwei meiner Lieblingstastenkombinationen: ALT + Pfeiltaste zum Verschieben von ganzen Textpassagen und CTRL + ALT + Pfeiltaste zum Kopieren eben solcher. Zum Speichern einer Datei habe ich mir einen Dreiklang angewöhnt, der den Quellcode in einen guten Zustand versetzt:

  • CTRL + SHIFT + O (Organize Imports) – entfernt alle überflüssigen Imports bzw. fügt fehlende hinzu
  • CTRL + SHIFT + F (Format) – formatiert den Code entsprechend der eingestellten Regeln
  • CTRL + S – natürlich muss auch gespeichert werden

Auf die Formatierung lege ich dabei besonders großen Wert, ursprünglich auf explizite Anweisung meines Architekten, mittlerweile bin ich ihm aber sehr dankbar dafür. (Danke Peter .) Ich kann nur jedem raten, den Code Formatter zu benutzen, der bei einer verteilten Entwicklung den Code anderer wirklich lesbarer macht. Das Europa Release bietet hierfür eine Automatik, wie in Abbildung 1 zu sehen ist.

Seit Europa erlaubt die Eclipse automatische Aktionen beim Speichern.

Da die Menge an Tastenkombinationen, die in einem Editor gerade zur Verfügung stehen, meist sehr hoch ist, gibt es eine Tastenkombination, die alle verfügbaren Kombinationen anzeigt. Hört sich verwirrend an, aber drücken Sie doch einfach mal CTRL+ALT+L, das bringt Licht ins Dunkel.

Teamwork

Obwohl immer als Selbstverständlichkeit betrachtet, finde ich die CVS-Integration besonders gut gelungen. Diese ist seit jeher exzellent und in meinen Augen eine der besten und intelligentesten, die es gibt. Gerade bei komplexer Software und einem verteilten Team ist das eine Vorraussetzung für gute Qualität. Die entsprechenden UI-Elemente, wie beispielsweise der View „CVS Ressource History“ oder die „Team Synchronizing“-Perspektive, integrieren sich nahtlos in die IDE. Es empfiehlt sich dabei immer, die Funktion „Link with Editor“ anzuschalten, da sich die Views dann automatisch zum aktiven Editor aktualisieren. Funktionalität wie „Change Sets“ oder das sehr zuverlässige und hervorragend unterstützte Merging bei Konflikten tun ihr Übriges für das Smile.

Weitere Nettigkeiten

Sehr originell finde ich die Möglichkeit, Views als „Fast View“ zu deklarieren, wie es in Abbildung 2 zu sehen ist. Ich nutze das sowohl für den Console View als auch für den Ant View in der Java-Perspektive, was die Oberfläche übersichtlicher macht, da sie nur bei Bedarf eingeblendet werden.

Geschrieben von
Stefan Reichert
Kommentare

Schreibe einen Kommentar

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