Einige Begriffserklärungen

Aus Eclipse
Wechseln zu: Navigation, Suche

Wird der Benutzer zum ersten Mal mit Eclipse konfrontiert, prasseln eine ganze Reihe von neuen Begriffen auf ihn ein: "Die Workbench kann, wie jedes Eclipse Plug-In, durch eigene Plug-Ins erweitert werden, indem vorgegebene Extension-Points erweitert werden, um beispielsweise eigene Views, Perspektiven oder Editoren zu entwickeln." Dieser Satz ist zwar zugegebenermaßen etwas konstruiert, verdeutlicht aber dennoch, dass eine genaue Begriffsdefinition unerlässlich ist, um sich sicher innerhalb von Eclipse zu bewegen.

Die nachfolgende Liste von Begriffen ist keinesfalls vollständig und wird im Laufe der Zeit Stück für Stück ergänzt. Die Definitionen sind teilweise den weiter unten angegeben Quellen entnommen und dort um Anmerkungen ergänzt, wo praktische Erfahrung uns Probleme aufzeigt.


Wichtige Eclipse Begriffe

Plug-In: Einer der wichtigsten, wenn nicht sogar der wichtigste Begriff in Eclipse überhaupt. Ein Plug-In ist eine in sich abgeschlossene Komponente, die Verbindungen zu anderen Plug-Ins herstellen kann und so beliebig erweitert werden kann. Der eigentliche Kern von Eclipse ist ein einfaches Programm, das in der Lage ist, Plug-Ins zu laden und auszuführen. Jede andere Funktionalität in Eclipse wurde durch Plug-Ins hinzugefügt. Somit ist die IDE als ein Plug-In realisiert (genauer: Als eine Reihe von Plug-Ins). Der Java Compiler, den Eclipse benutzt, ist ein Plug-In. Der Debugger in Eclipse ist ein Plug-In, usw. Diese Architektur ist das wesentliche Merkmal von Eclipse und erlaubt es uns (den Benutzern und Programmierern), Eclipse beliebig zu erweitern, zu ergänzen und zu verbessern.

Die Kehrseite der Medaille ist, dass es immer mehr Plug-Ins für Eclipse gibt (eine Liste der verfügbaren Plug-Ins findet sich z.B. hier [1]). Einige sind ausgereifte Plug-Ins, andere sind Versuchsprojekte, die sich nicht gut bedienen lassen oder Eclipse instabil werden lassen.

Feature: Viele Komponenten in Eclipse sind so umfangreich, dass es unhandlich wäre, sie in einem einzelnen Plug-In zu "verpacken". Daher können beliebige Plug-Ins zu einem Feature zusammengefasst werden, das dann am Stück ausgeliefert werden kann und dem Benutzer die Mühe abnimmt, viele Plug-Ins einzeln installieren zu müssen. Einige der Features in Eclipse sind z.B. das "JDT" (Java Development Tools, also der Java Compiler, Java Debugger, Java Perspektive, ...) oder "JFace", das viele GUI-Elemente zur Verfügung stellt.

Platform: Im Kontext von Eclipse ist mit diesem Begriff die Grundlage für alle programmiersprachenspezifischen Entwicklungen gemeint. Ein "leeres" Eclipse, das ausschließlich aus der Platform besteht, enthält bereits die Kernkomponenten von Eclipse (zum Laden von Plug-ins) und einen Workspace, sowie eine Benutzeroberfläche, die ihrerseits eine Workbench und Unterstützung für JFace und SWT enthält.

Java Development Tools (JDT): Das JDT-Feature stellt eine vollständige Entwicklungsumgebung für Java zur Verfügung. Meistens meint man JDT, wenn man Eclipse sagt (zumindest gilt das für Java Programmierer).

Plug-In Development Envrionment (PDE): Um Plug-Ins für Eclipse entwickeln zu können, wird das JDT um eine Plug-In Entwicklungsumgebung erweitert. Diese Umgebung nennt sich PDE und erlaubt das einfache Erstellen und Entwickeln von Plug-Ins für Eclipse.

Workspace: Ein Workspace ist aus Benutzersicht der Bereich, in dem Eclipse alle Projekte ablegt. Wichtig dabei ist, dass der Workspace die technische Realisierung dieser Infrastruktur beschreibt, während die Workbench für die Benutzeroberfläche steht.

Workbench: In der Workbench ist ein Arbeitsplatz für ein Projekt definiert. Die Workbench besteht aus Editoren, Views (in der deutschen Literatur findet sich zwar auch der Begriff "Sicht", aber View ist gebräuchlicher) und Perspektiven. Im folgenden Bild sind die wichtigsten Begriffe dargestellt (für eine größere Darstellung bitte hier klicken).

EclipseUiDef tn.jpg

View: Eine View (oder Sicht) in der Workbench ist ein Bereich, in dem die unterschiedlichsten Informationen zur Verfügung gestellt werden können. In der Java Perspektive gibt es z.B. die "Package Explorer" View, in der alle im Workspace befindlichen Projekte aufgelistet werden und in einer Baumstruktur dargestellt werden: Java Projekte enthalten (in der Regel) Pakete, die wiederum andere Pakete oder Klassen enthalten können. In der Java Perspektive gibt es aber auch die "Outline" View, in der die Methoden der Klasse, die momentan im Editor geöffnet ist, angezeigt werden. Als letztes Beispiel sei noch die "Console" View erwähnt, die alle Konsolenausgaben des aktuell laufenden Programms darstellt.

Editor: Im Gegensatz zu einer View, können im Editor größere Änderungen an den Inhalten vorgenommen werden. Im Java Editor kann z.B. eine Java Quellcodedatei bearbeitet werden. Der Editor zeigt den Inhalt der Datei an und enthält programmiersprachenspezifische Zusatzinformationen, wie z.B. Syntax-Highlighting für Quelltexte. Es gibt im JDT natürlich den Java Editor, der javaspezifische Erweiterungen enthält. Im CDT (C/C++ Development Tools) gibt es den entsprechenden C/C++-Editor, der eben C-Quellcode ansprechend präsentiert. So schöne Eclipse Funktionen wie "Quick Fix" oder "Content Assist" werden somit immer an einen bestimmten Editor gebunden, da er die nötigen Informationen besitzt, wie sie in der aktuellen Programmiersprache einzusetzen sind.

Perspektive: In einer Eclipse Perspective (dt. Perspektive) sind viele Views, die inhaltlich zusammenpassen, zusammengefasst. In der Java Perspektive können alle Views angezeigt werden, die etwas mit Java zu tun haben. Der Benutzer kann sich dabei die Anordnung der Views selbst festlegen und er bestimmt aucht, welche Views angezeigt werden sollen und welche versteckt bleiben. Neben der Java Perspektive gibt es in Eclipse z.B. die Debug Perspektive, die Java Views speziell zum Debuggen geeignet anordnet (eine Liste von Breakpoints, eine View, die Variablenwerte anzeigt, etc.) oder auch die CVS Repository Exploring Perspective, mit der Projekte im CVS Repository betrachtet und in den Workspace importiert werden können.

Quick Fix: Eines der angenehmen Features von Eclipse ist das "automatische" Beheben von Fehlern. Wenn im Java Editor ein Fehler angezeigt wird, kann der Programmierer mit dem Cursor zur fehlerhaften Zeile navigieren, dort die Quick Fix Funktion aufrufen (Shortcut ist Strg+1) und Eclipse schlägt Möglichkeiten zur Beseitigung des Fehlers vor. Weitere Informationen zu Quick Fix finden sich unter Tipps und Tricks.

Content Assist: Auf der OOPSLA 2004 in Vancouver meinte Erich Gamma in einem Vortrag über Eclipse sinngemäß: "Die einzige Tastenkombination, die man in Eclipse kennen muss, ist Strg+Leertaste". In der Tat ist die Content Assist Funktion von Eclipse, die über Strg+Leertaste aktiviert wird, eine der nützlichsten Funktionen. Nur ein Teil eines Klassennamens oder eines Methodennamens oder eines Variablennamens, oder, oder, oder... wird eingetippt und über Strg+Leertaste wird der Rest automatisch vervollständigt. Das spart jede Menge Tipparbeit.

Standard Widget Toolkit (SWT): Bei SWT handelt es sich um eine Widget Bibliothek wie AWT und Swing. Eclipse selbst ist mit dem SWT realisiert und zum Schreiben von Plug-Ins, die auch Inhalte für die grafische Benutzeroberfläche darstellen, kommt der Programmierer nicht an SWT vorbei.

JFace: Damit der Benutzer nicht ausschließlich mit einfachen SWT-Komponenten arbeiten muss, liefert Eclipse das JFace Feature mit, das viele "high-level widgets" zur Verfügung stellt, die das Arbeiten mit den grafischen Komponenten von SWT vereinfachen.

Quellen

"Contributing to eclipse - Principles, Patterns, and Plug-Ins" Erich Gamma, Kent Back Amazon-Link