Neue Funktionen für Ihren Eclipse 3.0-Texteditor

Raffinierte Rezepte

Tom Eicher, Markus Keller und Christof Marti

Wer einen Editor für die Bearbeitung von Textdokumenten eines bestimmten Formats schreiben will, findet bei Eclipse ein reichhaltiges Rahmenwerk vor, das es mit geringem Aufwand erlaubt, ein mächtiges Werkzeug zu konstruieren. Der Funktionsumfang eines Editors bleibt dabei nicht auf die grundlegenden Fähigkeiten wie Syntaxhervorhebung und automatisches Einrücken beschränkt. Die Implementierung komplexerer Funktionalität wie Faltung oder Inhaltsassistent wird durch Wiederverwendung von bestehender Infrastruktur erleichtert.

Die Eclipse 3.0-Plattform stellt die grundlegende Anwendungsumgebung zur Verfügung. Dazu zählen die Verwaltung von Editoren, eine Gliederungsansicht, die Einbettung in ein Versionierungssystem und die Verwaltung der Benutzereinstellungen. Sprachunabhängige Funktionen wie die Unterstützung für Encodings, QuickDiff (Änderungsanzeige) und die grundlegenden Editieroperationen werden von der Texteditor-Infrastruktur bereitgestellt. Der Eclipse-Plug-in-Mechanismus erlaubt es schließlich, einen Editor modular zu gestalten und wiederum für Erweiterungen durch Dritte zu öffnen.Dieser Artikel zeigt an einem einfachen Beispiel – einem Rezepteditor – wie ein Quelltexteditor programmiert und in die Eclipse-Umgebung eingefügt wird. Der Rezepteditor verfügt über die folgenden Schlüsselfunktionen: Syntaxhervorhebung, Modellabgleich, Inhaltsassistent, Faltung und Schablonen. Wir gehen davon aus, dass der Leser mit dem Plug-in-Mechanismus von Eclipse vertraut ist. Wer noch nie selbst ein Plug-in geschrieben hat, dem empfehlen wir [4]. Die abgedruckten Auszüge aus dem Quelltext sollen die erläuterten Konzepte illustrieren. Daher haben wir Fehler- und Nullpointer-Überprüfung sowie weniger zentrale Quelltextabschnitte ausgelassen. Um den Unterschied zu Rahmenwerkklassen zu verdeutlichen, beginnen alle Beispielklassen mit Recipe*. Der vollständige Quelltext findet sich auf der beigelegten DVD.

Abb. 2: Deklaration des Editors im Plug-in-Manifest

Wir haben gesehen, wie mit wenig Programmieraufwand ein leistungsfähiger textbasierter Editor realisiert wird. Das Texteditor-Rahmenwerk von Eclipse erlaubt dem Entwickler, sich auf die sprachspezifischen Einzelheiten zu konzentrieren. Es stellt die grundlegenden Editieroperationen zur Verfügung und ist bereits für komplexere Funktionen ausgelegt.Links und Literatur[1] How to use the JFace Tree Viewer: www.eclipse.org/articles/treeviewer-cg/TreeViewerArticle.htm[2] Eclipse Rich Client Platform: dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-ui-home/rcp/[3] Eclipse Help: Eclipse Platform Plug-in Developer Guide | Programmer’s Guide | Editors[4] PDE does Plug-ins: www.eclipse.org/articles/Article-PDE-does-plugins/PDE-intro.html

Geschrieben von
Tom Eicher, Markus Keller und Christof Marti
Kommentare

Schreibe einen Kommentar

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