Beispiel - Readme Tool
Einführung
Der Readme-Editor zeigt, wie Sie Ihre eigenen Erweiterungspunkte zur Verwendung durch andere Plug-ins definieren können. Er zeigt auch, wie Sie Erweiterungen für Kontextmenüeinträge für Ressourcen, neue Ressourcenassistenten, Dateieditoren bei einer Erweiterung (.readme), eine angepasste Ansicht und Eigenschaftsseiten erstellen können.
Beispiel ausführen
Zu Beginn dieses Beispiels erstellen Sie eine Datei mit der Erweiterung .readme mit Hilfe des Assistenten für die Dateierstellung oder mit Hilfe des Assistenten für die Beispielerstellung.
Die durch dieses Beispiel zur Verfügung gestellte zusätzliche Sicht können Sie sehen, wenn Sie 'Fenster > Sicht anzeigen > Andere' auswählen und den Abschnitt Readme erweitern. Die Anzeigeaktion ist zu sehen, indem Sie auf das Symbol 'Readme' in der Sicht 'Navigator' klicken.
Neue Readme-Datei erstellen
Erstellt eine neue Datei mit der Dateierweiterung '.readme'. Wählen Sie im Menü 'Datei' 'neu' aus und dann wählen Sie 'Andere...' aus dem Untermenü aus. Klicken Sie auf 'Einfach' in dem Assistenten, dann wählen Sie in der Liste auf der Linken Seite 'Datei' aus. Klicken Sie auf 'Weiter', um den Dateinamen (vergewissern Sie sich, dass die Erweiterung .readme ist) und den Ordner, in dem die Datei enthalten sein soll, anzugeben.
Assistent für die Erstellung eines Beispiels
Wählen Sie im Menü 'Datei' 'Neu' und dann 'Beispiel...' aus dem Untermenü aus.
Nun wählen Sie 'Assistent für die Erstellung eines Beispiels' 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 zur Erweiterung der Readme-Sicht
Wählen Sie in der Sicht 'Navigator' eine Datei mit der Erweiterung .readme aus. Wenn dort keine vorhanden ist, erstellen Sie eine Datei mit dieser Erweiterung. In der Symbolleiste der Sicht 'Navigator' sehen Sie eine Schaltfläche, deren Kurzinfo 'Readme-Sichterweiterung ausführen' lautet.Klicken Sie auf diese Schaltfläche. Es erscheint ein Dialog, der lautet 'Sichtaktion ausgeführt'.
Kontextmenüs
Wählen Sie in der Sicht 'Navigator' eine Datei mit der Erweiterung .readme aus. Wenn dort keine vorhanden ist, erstellen Sie eine Datei mit dieser Erweiterung. Wählen Sie die Datei aus, um das Kontextmenü zu öffnen. In dem Kontextmenü sehen Sie ein Menüelement 'Readme-Aktion anzeigen'. Wählen Sie dieses Menüelement aus, um einen Dialog zu öffnen, der 'Kontextmenü-Aktion ausgeführt' lautet.
Benutzervorgabenseite
Wählen Sie im Menü 'Fenster' 'Benutzervorgaben' aus. Klicken Sie auf die Seite namens 'Readme-Beispiel'. Doese zeigt ein Beispiel einer Benutzervorgabenseite.
Eigenschaftenseite
Wählen Sie in der Sicht 'Navigator' eine Datei mit der Erweiterung .readme aus. Wenn dort keine vorhanden ist, erstellen Sie eine Datei mit dieser Erweiterung. Wählen Sie die Datei aus, um das Kontextmenü zu öffnen, dann wählen Sie den Menüeintrag 'Eigenschaften' aus. Klicken Sie auf die Seite namens 'Readme Tool', um ein Beispiel einer Eigenschaftenseite zu sehen.
Readme-Dateieditor
Der Readme-Dateieditor ist der Standardeditor für Dateien des Typs *.readme.
Erstellen Sie eine Datei mit der Erweiterung .readme und öffnen Sie die Datei, indem Sie sie doppelt anklicken, oder öffnen Sie das Kontextmenü, wählen Sie 'Öffnen mit' aus und wählen dann 'Readme-Dateieditor' aus dem Untermenü aus. Sie sehen, dass der Editor ein Symbol mit einem Bleistift hat. Dies ist der Editor, den das Readme Tool standardmäßig für Dateien des Typs *.readme verwendet.
Readme-Editoraktionen
Dieses Beispiel zeigt Aktionen, die nur auf einen bestimmten Editor anwendbar sind. Wenn ein Readme-Dateieditor aktiv ist, sehen Sie 4 zusätzliche Funktionsleistenschaltflächen - Readme-Dateierweiterung ausführen, Readme- Editoraktion 1, Readme-Editoraktion 2, Readme-Editoraktion 3.
Ein Pulldown-Menü mit dem Namen 'Readme' erscheint, wenn ein Readme-Dateieditor aktiv ist. Es enthält die zuvor beschriebenen Aktionen: Readme-Editoraktion 1, Readme-Editoraktion 2, Readme-Editoraktion 3.
Sicht 'Readme-Abschnitte'
Um diese Sicht 'Readme-Abschnitte' anzuzeigen, wählen Sie im Menü 'Fenster' 'Sicht anzeigen' aus, und dann wählen Sie aus dem Untermenü 'Andere...' aus. Erweitern Sie das Element 'Readme' und wählen dann 'Readme-Abschnitte' aus. Dadurch wird eine Liste der Abschnitte in der aktuellen *.readme-Datei angezeigt, wenn eine .readme-Datei in der Sicht 'Navigator' ausgewählt worden ist. Sie können die Struktur einer *.readme-Datei auch in der Sicht 'Gliederung' sehen.
Eine Datei mit der Erweiterung .readme kann in Abschnitte unterteilt werden, wenn jeder Abschnitt mit einer Zahl beginnt. Wenn zum Beispiel der folgende Text in den Readme-Dateieditor eingegeben würde, würde das Readme Tool 2 Abschnitte erkennen. Um zu sehen, wie Abschnitte in dem Readme Tool erkannt werden, geben Sie einen Text in den Readme-Dateieditor ein und speichern die Datei entweder durch Betätigen von STRG-S oder durch Auswählen von Datei->Speichern. Öffnen Sie die Sicht 'Readme-Abschnitte' und wählen Sie die .readme-Datei in der Sicht 'Navigator' aus.
Beispieltext:
99.1 Dies ist mein erster Abschnitt
Dies ist ein kurzer Text in meinem ersten Abschnitt.
99.1.1 Dies ist ein Unterabschnitt
Dies ist ein kurzer Text in meinem Unterabschnitt.
Ziehen und Übergeben (Drag und Drop)
Die Funktionalität 'Ziehen und Übergeben' ist zu sehen durch Markieren eines Abschnitts in der Sicht 'Gliederung' und durch Ziehen der Markierung auf eine Textdatei. Der Inhalt der Markierung wird an die Datei angehängt.
Ergänzung für die Hilfefunktion
Das Beispiel für das Readme Tool zeigt auch die Verwendung und Implementierung der Kontexthilfe bei allen gelieferten Erweiterungen - eine Sicht, verschiedene Aktionen und eine Assistentenseite. Um Kontexthilfe zu einer Aktion zu erhalten To get context help on an action, bewegen Sie die Maus über ein Element, wählen dieses aber nicht aus und drücken die Taste F1. Kontextsensitive Hilfe (F1) erhalten Sie auch zu der Sicht 'Readme-Abschnitte' und der Seite 'Assistent für die Erstellung von Beispielen' (im Assistenten 'Neu').
Details
Das Readme Tool-Beispiel erläutert einen Erweiterungspunkt und liefert eine Vielzahl an Erweiterungen. Die gelieferten Erweiterungen sind ziemlich umfassend in Bezug auf das Verständnis, wie die Workbench funktioniert, da es eine Vielzahl der interessanteren Erweiterungspunkte verwendet, die durch die Workbench deklariert werden. Die in diesem Beispiel enthaltenen gelieferten Erweiterungen sind Sichten und Sichtaktionen, Benutzervorgabenseiten, Eigenschaftenseiten Assistenten, Editoren und Editoraktionen, Kontextmenüs, Aktionssets, Ergänzungen der Hilfefunktion, Hilfeinhalte und Übergabeaktionen.
Dieses Beispiel liefert auch einen Erweiterungspunkt, der in dem Plug-in deklariert wird.
Die Klasse 'IReadmeFileParser' ist erforderlich für jedes Plug-in, das die Erweiterung 'org.eclipse.ui.examples.readmetool.sectionParser' verwendet, die dieses Beispiel definiert. Die Klasse 'DefaultSectionParser' ist
eine Beispielimplementierung von 'IReadmeFileParser'.
Die Klasse 'ReadmeEditor' implementiert 'IEditorPart' und ist ist definiert als ein Editor
für Dateien mit der Erweiterung '.readme' in der 'plugin.xml', die den Erweiterungspunkt 'org.eclipse.ui.editors'
verwendet. Die Klasse 'ReadmeSectionsView' implementiert 'IViewPart' und ist definiert als eine Sicht, die den Erweiterungspunkt 'org.eclipse.ui.views' verwendet. Dieser Erweiterungspunkt definiert auch eine Kategorie für die Ansicht zur Verwendung in der Ansichtauswahl.
Zwei typen der Benutzervorgabeneinstellungen werden in diesem Beispiel definiert: Workbench-Benutzervorgaben und Ressourceneigenschaften. Die Workbench-Benutzervorgabe wird in der Klasse 'ReadmePreferencePage' definiert, die which impl'IWorkbenchPreferencePage' implementiert, so dass es dem Dialog 'Fenster->Benutzervorgaben' hinzugefügt wird. Die Klasse wird in dem Erweiterungspunkt 'org.eclipse.ui.preferencePages' in der 'plugin.xml' definiert. Die beiden Ressourceneigenschaftsseiten sind 'ReadmeFilePropertyPage' und 'ReadmeFilePropertyPage2' und beide implementieren 'IWorkbenchPropertyPage'.
Sie sind beide so definiert, dass sie bei dem Typ 'IFile' durch das Tag 'objectClass'
in der 'plugin.xml' im Erweiterungspunkt 'org.eclipse.ui.propertyPages' aufgerufen werden.
Die Klasse 'ReadmeCreationWizard' implementiert 'INewWizard' und wird in dem Erweiterungspunkt 'org.eclipse.ui.newWizards' in der 'plugin.xml' definiert. Dieser Erweiterungspunkt definiert auch die kategorie, die gezeigt wird, wenn der Benutzer 'Datei->Neu->Beispiel....' auswählt
Zu diesem Beispiel werden mehrere Aktionsstubs hinzugefügt. Der Aktionsset deklariert, dass ein Menü mit der Bezeichnung 'Readme-Dateieditor' in die Menüleiste des Workbench-Fensters unter Verwendung des Erweiterungspunkts 'org.eclipse.ui.actionSets' aufgenommen wird. Er definiert auch eine Aktion für die Menüleiste und Symbolleiste der Workbench unter Verwendung der Tags 'toolbarPath' und 'menubarPath'. Er verwendet die Klasse 'WindowActionDelegate', die 'IWorkbenchWindowActionDelegate' implementiert, um die Aktion zu implementieren.
Die Aktion für das Kontextmenü ist definiert als eine 'objectContribution' durch die Klasse 'PopupMenuActionDelegate' in dem Erweiterungspunkt 'org.eclipse.ui.popupMenus'.
'PopupMenuActionDelegate' implementiert 'IObjectActionDelegate' und verwendet die zur Verfügung gestellte 'IWorkbenchPart', um einen Nachrichtendialog zu öffnen. Die Sichtaktion 'ViewActionDelegate' wird definiert in dem Erweiterungspunkt 'org.eclipse.ui.viewActions' und implementiert 'IViewActionDelegate'. Die Ansicht, in der sie erscheint, wird definiert durch das Tag 'targetID', das in diesem Beispiel 'org.eclipse.ui.views.ResourceNavigator' ist. Die Editoraktion wird definiert durch die Klasse 'EditorActionDelegate, die 'IEditorActionDelegate' implementiert und mit Hilfe des Erweiterungspunkts 'org.eclipse.ui.editorActions' hinzugefügt wird. Der Editor, auf den sie angewendet wird, wird definiert durch das Tag 'targetID', das in diesem Beispiel durch 'org.eclipse.ui.examples.readmetool.ReadmeEditor' definiert wird.
Die Klasse 'ReadmeDropActionDelegate' implementiert 'IDropDelegate'. 'IDropDelegates' werden jedesmal informiert, wenn eine Übergabeaktion in der Workbench durchgeführt wird. Der Erweiterungspunkt für diese Aktion ist 'org.eclipse.ui.dropActions'.