9.7 Die Entwicklungsumgebung Eclipse 

Wie Sie bereits gesehen haben, kann die Arbeit mit einem Kommandozeilen-Compiler recht mühselig sein: Sie müssen Ihre Programme in einem externen, oft nicht einmal für die konkrete Sprache spezialisierten Editor schreiben, bei jeder Änderung speichern und dann auf der Konsole den Compiler aufrufen. Kompilierfehler werden einfach zeilenweise angezeigt und lassen sich so nicht automatisch anspringen.
Um diese Nachteile zu umgehen, wurden integrierte Entwicklungsumgebungen (Integrated Development Environments oder IDEs) entwickelt. Sie bieten alle Werkzeuge zur Softwareentwicklung unter einem gemeinsamen Dach, etwa den Editor, verschiedene Compiler-Optionen, Debugging-Tools zur Fehlersuche sowie Hilfsmittel zur Verwaltung größerer Softwareprojekte. Eine der ersten Entwicklungsumgebungen wurde mit UCSD-Pascal eingeführt. In diesem Projekt der University of California, San Diego, aus den 1970er-Jahren wurde übrigens auch einer der Grundpfeiler einer virtuellen Maschine entwickelt, nämlich ein plattformunabhängiger Bytecode namens OpCode.
Seit den 1980er-Jahren wurden IDEs vor allem von der Firma Borland angeboten; ihre »Turbo«-Sprachen-Kits (Turbo Pascal, Turbo C und so weiter) waren weit verbreitet. Die flächendeckende Einführung grafischer Benutzeroberflächen brachte den Übergang zur grafischen IDE. Dazu gehört etwa die bekannte Visual Studio-Reihe von Microsoft.
9.7.1 Überblick 

Eine der interessantesten neueren Entwicklungsumgebungen ist Eclipse. Sie wurde bei IBM entwickelt, ursprünglich mit der Bezeichnung Visual Age, und dann unter dem neuen Namen als Open-Source-Software freigegeben. Eclipse wird am häufigsten als IDE für Java eingesetzt, ist aber eigentlich ein Framework zur Realisierung beliebiger Entwicklungsumgebungen und anderer Arbeitswerkzeuge. Durch Plug-ins stehen viele solcher zusätzlichen IDEs bereit, etwa für C++, PHP oder auch für einfache Webseiten mit HTML und CSS.
Dieser kurze Abschnitt konzentriert sich auf Eclipse als Java-Entwicklungstool. In dieser Eigenschaft leistet die IDE wesentlich mehr als ein reiner Quellcode-Editor. Im Grunde ist Eclipse das ideale Werkzeug für die Aufgaben des Software-Engineerings (siehe nächstes Kapitel). Das ist nicht weiter verwunderlich, wenn man bedenkt, dass der Eclipse-Projektleiter Erich Gamma einer der wichtigsten internationalen Experten für Softwareentwicklung ist. Wie Sie beim Durchsehen von Anhang C feststellen werden, ist er zudem Autor oder Koautor zahlreicher empfehlenswerter Bücher zu Eclipse und zum Software-Engineering.
Da Eclipse selbst in Java geschrieben wurde, funktioniert das Programm unter zahlreichen verschiedenen Systemen, darunter natürlich Windows, Linux und Mac OS X. Damit Sie Eclipse einsetzen können, muss das Java 2 SDK auf Ihrem Rechner installiert sein; für die aktuelle Eclipse-Version muss es mindestens Java 1.4 sein. Details der Java-Installation wurden bereits im vorigen Kapitel behandelt.
Die Installation von Eclipse ist nicht der Rede wert. Suchen Sie einfach die Website http://www.eclipse.org auf und laden Sie von dieser Site oder einem der dort aufgelisteten Mirrors das für Ihr System passende Paket herunter. Beachten Sie, dass es für UNIX zwei Versionen gibt, die die GUI-Bibliotheken GTK beziehungsweise Motif unterstützen; suchen Sie sich die passende Variante aus. In jedem Fall handelt sich um ein ZIP-Archiv, das Sie nur auszupacken brauchen – unter Windows meist mittels WinZip; unter Linux und anderen UNIX-Varianten können Sie einen Befehl wie den folgenden eingeben:
$ unzip eclipse-SDK-3.3-linux-gtk.zipDie zugehörigen Sprachpakete können Sie ebenfalls dort herunterladen. Sie werden ohne Rücksicht auf eventuelles Überschreiben in dasselbe Verzeichnis entpackt wie Eclipse selbst. Das Sprachpaket ist multilingual, aber sofern die Standardsprache Ihres Systems Deutsch ist, wird auch Eclipse auf Deutsch gestartet.
Innerhalb des Verzeichnisses, in das Sie die Archive entpackt haben, befindet sich nun ein Verzeichnis namens eclipse. Führen Sie einfach das darin befindliche Binary eclipse (Windows: eclipse.exe) aus, um Eclipse zu starten. Ein korrekt installiertes Java 2 SDK wird automatisch gefunden und verwendet.
Beim ersten Eclipse-Start werden Sie aufgefordert, ein Workspace-Verzeichnis für Ihre Projektdateien zu wählen; der automatische Vorschlag ist <Eclipse-Verzeichnis>/workspace.
9.7.2 Java-Entwicklung mit Eclipse 

Der erste Schritt bei der Arbeit mit Eclipse besteht darin, ein neues Projekt zu erstellen. Wählen Sie Datei • Neu • Projekt. Es erscheint ein Dialog, in dem zuerst ein Projekttyp oder Projektassistent ausgewählt werden soll (siehe Abbildung 9.7). Wählen Sie Java-Projekt, falls Sie Java-Programme entwickeln möchten, und klicken Sie auf die Schaltfläche Weiter. Auf der nächsten Seite werden Name und Verzeichnis für das Projekt eingegeben. Drücken Sie anschließend auf Weiter für mehr Details.
Abbildung 9.7 Erstellen eines neuen Eclipse-Projekts
Auf der letzten Seite des Dialogs werden vier Registerkarten angezeigt: Unter Quelle werden die ein- und auszuschließenden Dateien und Verzeichnisse gewählt. Projekte ermöglicht die Angabe anderer Projekte, von denen das aktuelle Projekt abhängt. Unter Bibliotheken werden die benötigten Klassenbibliotheken hinzugefügt. Sortieren und exportieren schließlich dient der Auswahl derjenigen Klassen, die als Binärdateien mit dem Projekt kompiliert werden sollen.
Eclipse schlägt selbst den Wechsel in die sogenannte Java-Perspektive vor. Perspektiven sind vorgefertigte Anordnungen der Fenster und Paletten, die die Arbeit in verschiedenen Projektphasen optimieren. Unter Fenster • Perspektive öffnen können Sie jederzeit in andere Perspektiven umschalten. Abbildung 9.8 zeigt die Arbeitsfenster der Java-Perspektive.
Bevor Sie Klassen erstellen, sollten Sie Datei • Neu • Paket wählen, um ein Package zu erstellen. Packages sind verschachtelte Verzeichnisse oder JAR-Archive, die die Übersicht in größeren Projekten erleichtern. Die Java-Klassenbibliothek selbst ist ebenfalls in Packages wie java.*, javax.* und so weiter organisiert.
Datei • Neu • Klasse erzeugt anschließend eine neue Klasse (siehe Abbildung 9.9). Die wichtigsten Informationen über Java-Klassen haben Sie bereits im vorigen Kapitel erhalten. Nach dem Klick auf Fertig stellen wird die Klasse im Editor angezeigt. Sie enthält bereits einige wichtige Bestandteile, die man in einfachen Texteditoren mühselig von Hand erzeugen müsste.
Am linken Rand der Arbeitsfläche finden Sie den Paket-Explorer, in dem sämtliche Klassen des aktuellen Projekts angezeigt werden. Sie lassen sich per Doppelklick zum Bearbeiten öffnen. Ganz rechts befindet sich die Palette Gliederung, in der die einzelnen Eigenschaften, Konstruktoren und Methoden der zurzeit bearbeiteten Klasse aufgelistet werden; ein Doppelklick springt im Quellcode zur jeweiligen Deklaration. In der Mitte befindet sich der überaus komfortable und für das Editieren von Programmcode optimierte Editor, darunter gibt es diverse Registerkarten:
- In der Konsole können Sie die Ausgabe fertig kompilierter Konsolenprogramme betrachten.
- Die Fehler-Palette stellt alle Compilerfehler übersichtlich dar; per Doppelklick können Sie jeweils zur passenden Codestelle springen.
- Deklaration stellt den Codeausschnitt dar, in dem das jeweils in der Gliederung ausgewählte Element deklariert wird.
- Javadoc zeigt eine Vorschau der in Ihrem Code enthaltenen Javadoc-Kommentare an, sobald Sie diese anklicken. Um die üblichen hierarchisch strukturierten HTML-Dokumente mit der Codedokumentation zu generieren, können Sie Projekt • Javadoc generieren wählen.
Abbildung 9.8 Die Arbeitsoberfläche von Eclipse in der Java-Perspektive
Abbildung 9.9 Der Assistent zum Erstellen einer neuen Java-Klasse
Der Hauptarbeitsbereich bei der Java-Programmierung ist der Quellcode-Editor. Er verfügt unter anderem über folgende Hilfsmittel:
- Syntax-Highlighting. Die verschiedenen Arten von Codebestandteilen wie Variablen, Literale oder Methoden werden automatisch durch verschiedene Farben hervorgehoben.
- Automatische Einrückung. Eclipse passt sich dabei automatisch Ihren Vorgaben an.
- Auf- und Zuklappen von Blöcken für mehr Übersicht
- Automatische Anzeige eines Popup-Menüs mit verfügbaren Codeergänzungen, sobald Sie zu tippen beginnen (versuchen Sie es probehalber mit der Eingabe von »this.«)
- Fehlerhinweise in der Randspalte. Wenn Sie auf die Fehlermarkierung doppelklicken, öffnet sich ein Fenster mit verschiedenen – meist überraschend intelligenten – Korrekturvorschlägen. Diese können Sie ebenfalls per Doppelklick annehmen. Abbildung 9.10 zeigt ein Beispiel mit einem simplen Schreibfehler; Eclipse schlägt selbst die Änderung von »euqals« in »equals« vor.
- Unterbrechungspunkte (Breakpoints). Die Tastenkombination
+
+
setzt einen Unterbrechungspunkt in der aktuellen Programmzeile. Bei einem späteren Debug-Lauf hält der Programmablauf an dieser Stelle an und Sie können den aktuellen Zustand des Programms und seiner Elemente analysieren.
Abbildung 9.10 Die automatische Eclipse-Fehlerkorrektur in Aktion
Nachdem Sie ein ausführbares Programm erstellt haben, das heißt eine Klasse mit einer main()-Methode, können Sie es einfach starten. Dazu muss die Option Projekt • Automatisch erstellen aktiviert sein, andernfalls müssen Sie zuerst manuell kompilieren (Projekt • Alle erstellen). Zum Starten der Anwendung dient der Menüpunkt Ausführen • Ausführen als • Java-Anwendung. Unter diesem Menü befinden sich auch noch andere Optionen für die Projektausführung, beispielsweise die im nächsten Kapitel besprochenen JUnit-Tests.
Diese kurze Einführung ist natürlich erst der Anfang. Eclipse bietet bereits in der Grundausstattung unzählige komfortable Funktionen. Daneben gibt es viele verschiedene Plug-ins von Drittanbietern für fast jeden Einsatzzweck, der auch nur im Entferntesten mit Softwareentwicklung zu tun hat. Bei aller Vielfalt der angebotenen Werkzeuge werden Sie feststellen, wie intuitiv Eclipse ist. Nach einer überaus kurzen Einarbeitungszeit können Sie sich wieder Ihrer eigentlichen Programmierarbeit widmen, und dies wahrscheinlich produktiver und mit mehr Spaß als zuvor.
Zu guter Letzt sollten Sie noch zwei Highlights beachten:
- Das Menü Quelle enthält zahlreiche Befehle zur automatischen Erzeugung von Code. Ein Beispiel: Getter/Setter generieren erzeugt auf Knopfdruck get*()- und set*()-Methoden für alle (oder ausgewählte) Eigenschaften einer Klasse.
- Refactoring ist ein Begriff aus der professionellen Softwareentwicklung. Er bezeichnet nachträgliche Umstrukturierungen des Codes, um dessen Design dem Zustand des Projekts anzupassen. Dies verhindert schlecht integrierte, »gehackte« Ergänzungen, welche die spätere Wartbarkeit und die Stabilität der Software beeinträchtigen. Das gleichnamige Menü in Eclipse automatisiert zahlreiche gängige Aufgabenstellungen des Refactorings, beispielsweise die Verallgemeinerung oder Spezialisierung von Elementen. Dabei wird die normalerweise fehlerträchtigste Teilaufgabe, nämlich die Anpassung des Gesamtcodes an solche Änderungen, automatisch ausgeführt.








bestellen




