Obwohl die Implementierung eines Workbench-Editors für jedes Plug-in und die Ressourcen, die bearbeitet werden sollen, spezifisch ist, bietet die Workbench eine allgemeine Struktur für die Erstellung eines Editors. Das folgende Konzept gilt für alle Editoren der Workbench.
Ein Editor muss die Schnittstelle IEditorPart implementieren und wird häufig durch eine Erweiterung der Klasse EditorPart erstellt. Ein Editor implementiert seine Benutzerschnittstelle in der Methode createPartControl. Mit Hilfe dieser Methode werden die SWT-Fensterobjekt oder JFace-Anzeigefunktionen assembliert, die den Editorinhalt darstellen.
Eine Editoreingabe ist eine Beschreibung des zu bearbeitenden Elements. Ein Beispiel für eine Editoreingabe wäre ein Dateiname, obwohl sie allgemeiner ist. Die Schnittstelle IEditorInput definiert das Protokoll für eine Editoreingabe, einschließlich des Namens der Eingabe und des Images, mit dem sie in den Anzeigenobjekten oben im Editor dargestellt werden soll.
Die Plattform stellt zwei generische Editoreingaben zur Verfügung. Die Schnittstelle IFileEditorInput stellt eine Eingabe dar, die eine Datei im Dateisystem ist. Die Schnittstelle IStorageEditorInput stellt eine Eingabe dar, die ein Datenstrom aus Byte ist. Diese Byte können aus anderen Quellen als dem Dateisystem stammen.
Wenn Ihr Editor die Ersetzung des Eingabeobjekts für den Editor während der Verarbeitung unterstützen kann, sollten Sie IReusableEditor implementieren. Durch die Implementierung dieser Schnittstelle kann die Workbench Ihren Editor "wieder verwenden". In den Benutzervorgaben für die Workbench kann ein Benutzer festlegen, dass Editoren wieder verwendet werden, sobald eine bestimmte Anzahl von ihnen geöffnet wurde.
Wenn Sie in Ihrem Editor ein Navigationsprotokoll implementieren wollen, sollten Sie die SchnittstelleINavigationLocationProvider implementieren. Sie stellt einen Mechanismus bereit, mit dem die Workbench eine aktuelle Navigationsposition (INavigationLocation) abfragen kann, was zur Einrichtung eines Navigationsprotokolls erforderlich ist. Die Workbench verarbeitet die Mechanismen der Benutzerschnittstelle für die Navigation. Ihr ObjektINavigationLocation wird benachrichtigt, wenn es den Editor in der Position wiederherstellen muss, die es darstellt.
Der Rest der Implementierung Ihres Editors ist von dem Inhalt abhängig, der dargestellt werden soll. Im Folgenden wird der gängigste Editortyp näher erläutert: der Texteditor.