Beispiel - Tool für Readme-Dateien
Einführung
Der Editor für Readme-Dateien veranschaulicht, wie Sie eigene
Erweiterungspunkte definieren können, die durch andere Plug-ins
verwendet werden. Außerdem zeigt er, wie Erweiterungen für Optionen in Kontextmenüs von
Ressourcen, Assistenten für neue Ressourcen, Dateieditoren für
bestimmte Erweiterungen (im Beispiel .readme), eine angepasste Sicht
sowie Eigenschaftenseiten erstellt werden.
Beispiel ausführen
Die Verwendung dieses Beispiels beginnt mit der Erstellung einer
Datei mit der Erweiterung ".readme". Hierzu verwenden Sie entweder
den Assistenten zum Erstellen einer neuen Datei oder den
Erstellungsassistenten des Beispiel.
Die zusätzliche Sicht, die durch dieses Beispiel zur Verfügung
gestellt wird, können Sie aufrufen, indem Sie die Optionen
"Fenster > Sicht anzeigen > Andere" auswählen und dann den
Abschnitt "Readme-Datei" erweitern.
Die Aktion der Sicht können Sie anzeigen, indem Sie in der Sicht
"Navigator" auf das Symbol der Readme-Datei klicken.
Neue Readme-Datei erstellen
Erstellen Sie eine neue Datei mit der Dateierweiterung ".readme".
Wählen
Sie im Menü "Datei" die Option "Neu" und dann im Untermenü die Option
"Andere..." aus. Klicken Sie im Assistenten auf die Option
"Einfach" und wählen Sie dann die Datei in der Liste auf der linken
Seite aus. Klicken Sie auf "Weiter", um den Dateinamen anzugeben
(achten
Sie darauf, die Erweiterung ".readme" zu verwenden) sowie den Ordner, in dem die Datei enthalten sein soll.
Assistenten für Beispielerstellung
Wählen Sie im Menü "Datei" die Option "Neu" und im Untermenü die
Option "Beispiel..." aus. Wählen Sie dann die Option des
Assistenten für die Beispielerstellung aus.
Wählen Sie "Readme-Datei" aus. Klicken Sie auf "Weiter". Wählen Sie
den Ordner aus, in dem die Datei erstellt werden soll. Geben Sie den Namen der Datei mit der Erweiterung ".readme" ein. Klicken Sie auf "Fertig stellen".
Aktion der Erweiterung für Sicht mit Readme-Dateien
Wählen Sie in der Sicht "Navigator" eine Datei mit der Erweiterung
".readme" aus. Wenn keine solche Datei vorhanden ist, erstellen Sie eine Datei mit
dieser Erweiterung. In der lokalen Symbolleiste der Sicht "Navigator" finden Sie eine
Schaltfläche, deren Kurzinfo etwa "Erweiterung für Sicht mit
Readme-Dateien ausführen" lautet. Klicken Sie auf diese Schaltfläche.
Dann wird ein Dialog aufgerufen, der die Angabe "Sichtaktion
ausgeführt" enthält.
Kontextmenüs
Wählen Sie in der Sicht "Navigator" eine Datei mit der Erweiterung
".readme" aus. Wenn keine solche Datei vorhanden ist, erstellen Sie
eine Datei mit dieser Erweiterung. Wählen Sie die Datei aus, um das
Kontextmenü zu öffnen. Sie werden bemerken, dass das Kontextmenü eine
Aktion enthält die etwa "Aktion für Readme-Datei anzeigen" lautet.
Wählen Sie diese Menüoption aus, um einen Dialog zu öffnen, der die
Angabe "Kontextmenüaktion ausgeführt" enthält.
Benutzervorgabenseite
Wählen Sie im Menü "Fenster" die Option "Benutzervorgaben"
aus. Klicken Sie auf die Seite namens "Beispiel für Readme-Datei".
Hierdurch wird das Beispiel einer Benutzervorgabenseite angezeigt.
Eigenschaftenseite
Wählen Sie in der Sicht "Navigator" eine Datei mit der Erweiterung
".readme" aus. Wenn keine solche Datei vorhanden ist, erstellen Sie
eine Datei mit dieser Erweiterung. Wählen Sie die Datei aus, um das
Kontextmenü zu öffnen, und wählen Sie dann die Option "Eigenschaften"
aus. Klicken Sie auf die Seite "Tool für Readme-Dateien", um das
Beispiel für eine Eigenschaftenseite anzuzeigen.
Editor für Readme-Dateien
Der Editor für Readme-Dateien ist der Standardeditor für Dateien des
Typs ".readme". Erstellen Sie eine Datei mit der Erweiterung
".readme", und öffnen Sie die Datei, indem Sie auf den Namen
doppelklicken oder indem Sie das Kontextmenü aufrufen, die Option
"Öffnen mit" und dann den Eintrag "Editor für Readme-Dateien" im
Untermenü auswählen. Sie können feststellen, dass der Editor ein
Symbol mit einem Stift enthält. Dies ist der Editor, den das Tool für
Readme-Dateien standardmäßig für Dateien des Typs "*.readme"
verwendet.
Aktionen im Editor für Readme-Dateien
Dieses Beispiel veranschaulicht Aktionen, die nur auf einen
bestimmten Editor angewendet werden. Wenn der Fokus auf einem Editor
für Readme-Dateien steht, sehen Sie, dass die Symbolleiste 4
zusätzliche Schaltflächen enthält: Erweiterung für Editor für
Readme-Dateien ausführen, Aktion 1 für Editor für Readme-Dateien,
Aktion 2 für Editor für Readme-Dateien und Aktion 3 für Editor für
Readme-Dateien.
Wenn ein Editor für Readme-Dateien fokussiert ist, wird ein
Pull-down-Menü namens "Readme-Datei" angezeigt. Es enthält die zuvor
beschriebenen Aktionen.
Sicht mit Abschnitten der Readme-Datei
Um diese Sicht aufzurufen, wählen Sie im Menü "Fenster" die
Option "Sicht anzeigen" und dann im Untermenü den Eintrag "Andere..."
aus. Erweitern Sie den Eintrag "Readme-Datei", und wählen Sie dann
"Abschnitte der Readme-Datei" aus. Hierdurch wird eine Liste der
Abschnitte in der aktuellen Readme-Datei angezeigt, wenn in der Sicht
"Navigator" eine Readme-Datei ausgewählt ist. Außerdem sehen Sie in
der Sicht "Gliederung" die Struktur der Readme-Datei.
Eine Datei mit der Erweiterung ".readme" kann in Abschnitte
aufgeteilt werden, die jeweils mit einer Nummer beginnen. Wenn
beispielsweise der folgende Text in den Editor für Readme-Datei
eingegeben würde, würde das Tool für Readme-Dateien 2 Abschnitte
feststellen. Um das Feststellen von Abschnitten durch das Tool für
Readme-Dateien zu demonstrieren, geben Sie Text im Editor für
Readme-Dateien ein, und speichern Sie die Datei (entweder durch
Eingabe von Strg+S oder durch Auswahl von "Datei > Speichern"). Öffnen Sie die Sicht "Abschnitte der Readme-Datei", und wählen Sie
die Datei ".readme" in der Sicht "Navigator" aus.
Beispieltext:
99.1 Dies ist mein erster Abschnitt.
Dies ist der Text in meinem ersten Abschnitt.
99.1.1 Dies ist ein Unterabschnitt.
Dies ist der Text in meinem Unterabschnitt.
Ziehen und Übergeben
Die Funktionalität für Ziehen und Übergeben kann veranschaulicht
werden, indem Sie einen Abschnitt in der Sicht "Gliederung" auswählen
und den Abschnitt auf eine Textdatei ziehen. Der Inhalt der Auswahl wird an die Datei angehängt.
Ergänzung für Hilfe
Das Tool für Readme-Dateien veranschaulicht außerdem, wie die
kontextbezogene Hilfe für alle bereitgestellten Erweiterungen (eine
Sicht, verschiedene Aktionen und eine Assistentenseite) verwendet und
implementiert wird.
Um die kontextbezogene Hilfe für eine Aktion aufzurufen, ziehen Sie
den Mauszeiger auf die Menüoption, jedoch ohne die Option
auszuwählen, und drücken Sie dann die Taste F1. Kontextbezogene Hilfe
können Sie über die Taste F1 auch für die Sicht "Abschnitte der
Readme-Datei" und die Seite mit dem Assistenten für die
Beispielerstellung (im Assistenten für neue Ressourcen) aufrufen.
Details
Das Beispieltool für Readme-Dateien deklariert einen
Erweiterungspunkt und stellt eine Reihe von Erweiterungen zur
Verfügung. Die bereitgestellten Erweiterungen sind sehr hilfreich für
das Verständnis der Workbench-Funktionen, da sie eine Reihe weiterer
interessanter Erweiterungspunkte verwenden, die durch die Workbench
deklariert werden. Die entsprechenden Erweiterungen dieses Beispiels
sind Sichten und Aktionen für Sichten,
Benutzervorgabenseiten, Eigenschaftenseiten,
Assistenten, Editoren und Editoraktionen, Kontextmenüs,
Aktionssets, Hilfeergänzungen, Hilfekontexte und
Übergabeaktionen.
Außerdem stellt diese Beispiel einen Erweiterungspunkt zur
Verfügung, der im Plug-in deklariert ist.
Die Klasse "IReadmeFileParser" wird von jedem Plug-in benötigt, das
die in diesem Beispiel definierte Erweiterung
"org.eclipse.ui.examples.readmetool.sectionParser" verwendet. Die Klasse "DefaultSectionParser" ist eine Beispielimplementierung von
"IReadmeFileParser".
Die Klasse "ReadmeEditor" implementiert "IEditorPart", und ist als
Editor für Dateien mit der Erweiterung ".readme" in der Datei
"plugin.xml" unter Verwendung
des Erweiterungspunkts "org.eclipse.ui.editors" definiert. Die Klasse "ReadmeSectionsView" implementiert "IViewPart" und ist als
Sicht unter Verwendung des Erweiterungspunkts
"org.eclipse.ui.views" definiert. Dieser Erweiterungspunkt definiert
außerdem eine Kategorie für die Sicht, die bei der Sichtauswahl
verwendet wird.
Im Beispiel werden zwei Typen von Einstellungen für
Benutzervorgaben definiert, nämlich Benutzervorgaben für die
Workbench und Eigenschaften für Ressource. Die Benutzervorgaben für die Workbench werden in der Klasse
"ReadmePreferencePage" definiert, die
"IWorkbenchPreferencePage" implementiert, damit sie zum Dialog
"Fenster > Benutzervorgaben" hinzugefügt wird. Die Klasse ist im Erweiterungspunkt
"org.eclipse.ui.preferencePages" in der Datei "plugin.xml" definiert. Die
beiden Eigenschaftenseiten für Ressourcen sind
"ReadmeFilePropertyPage"
und "ReadmeFilePropertyPage2"; beide implementieren
"IWorkbenchPropertyPage".
Beide Seiten sind so definiert, dass Sie für den Typ "IFile" durch
das Tag "objectClass" in der Datei
"plugin.xml" im Erweiterungspunkt "org.eclipse.ui.propertyPages"
aufgerufen werden.
Die Klasse "ReadmeCreationWizard" implementiert "INewWizard" und
ist im Erweiterungspunkt
"org.eclipse.ui.newWizards" in der Datei "plugin.xml" definiert. Dieser
Erweiterungspunkt definiert außerdem die Kategorie für den
Assistenten, der nach Auswahl von "Datei > Neu > Beispiel..." angezeigt
wird.
Zu diesem Beispiel wurden mehrere Aktions-Stubs hinzugefügt. Das
Aktionsset deklariert ein Menü namens
Editor für Readme-Dateien, das in die Menüleiste des
Workbench-Fensters aufgenommen werden soll. Hierzu wird der
Erweiterungspunkt "org.eclipse.ui.actionSets" verwendet. Es definiert
außerdem durch die Parameter "toolbarPath" und "menuPath" eine Aktion
für die Symbolleiste und die Menüleiste der Workbench. Es verwendet die Klasse "WindowActionDelegate", die
"IWorkbenchWindowActionDelegate" zur Implementierung dieser Aktion
implementiert.
Die Aktion für das Kontextmenü wird durch die Klasse
"PopupMenuActionDelegate" als "objectContribution"
im Erweiterungspunkt "org.eclipse.ui.popupMenus" definiert.
"PopupMenuActionDelegate" implementiert "IObjectActionDelegate" und
verwendet die vorhandene Schnittstelle "IWorkbenchPart", um einen
Nachrichtendialog zu öffnen. Die Sichtaktion "ViewActionDelegate" ist im
Erweiterungspunkt "org.eclipse.ui.viewActions" definiert und
implementiert "IViewActionDelegate". Die Sicht, in der sie angezeigt
wird, ist durch den Parameter "targetID" definiert, der in diesem
Beispiel den Wert "org.eclipse.ui.views.ResourceNavigator" hat. Die
Editoraktion wird durch die
Klasse "EditorActionDelegate" definiert, die
"IEditorActionDelegate" implementiert
und unter Verwendung des Erweiterungspunkts
"org.eclipse.ui.editorActions" hinzugefügt wird. Der Editor, in dem diese Aktion angewendet wird, ist durch den
Parameter "targetID" definiert,
der in diesem Fall mit dem Wert
"org.eclipse.ui.examples.readmetool.ReadmeEditor" definiert ist.
Die
Klasse "ReadmeDropActionDelegate" implementiert "IDropDelegate". "IDropDelegates"
werden immer dann informiert, wenn in der Workbench eine
Übergabeaktion stattfindet. Der Erweiterungspunkt für diese
Aktion ist "org.eclipse.ui.dropActions".