Auf der Seite "Erweiterungen" können Sie Plug-in-Erweiterungen anzeigen und bearbeiten. Erweiterungen sind der zentrale Mechanismus für das Ergänzen der Plattform durch ein zusätzliches Verhalten. Sofern es sich bei Ihrem Plug-in nicht um eine einfache Java-API-Bibliothek handelt, die für andere Plug-ins zur Verfügung gestellt werden soll, wird ein neues Verwalten in Form einer Erweiterung ergänzt.
Plug-ins ergänzen die Erweiterungspunkte, die durch die Plug-ins definiert werden, die sie benötigen. Die von Ihnen verwendete Erweiterungssyntax muss mit der Definition des Erweiterungspunktes übereinstimmen, damit sie korrekt verarbeitet werden kann. Die gesamte Liste der auswählbaren Erweiterungspunkte wird durch PDE berechnet, indem alle sichtbaren Plug-ins (sowohl Arbeitsbereich- als auch externe Plug-ins) durchsucht werden.
Der generische Assistent für Erweiterungen, der durch PDE zur Verfügung gestellt wird, sucht die Erweiterungspunkte ganz einfach ab. Wenn Sie ein Erweiterungsschema angeben (siehe Erweiterungspunktschema), werden Grammatik und Metadaten des Erweiterungspunkts vom Assistenten aus dem Schema extrahiert.
Um die Verwendung der Seite "Erweiterungen" zu veranschaulichen, werden Sie jetzt eine Aktion "Hello, PDE world" zu Ihrem Plug-in hinzufügen. Hierbei wird die Ergänzung am Erweiterungspunkt org.eclipse.ui.actionSets bereitgestellt. Im Beispiel wird davon ausgegangen, dass Sie bereits mit dem Konzept der Erweiterungspunkte vertraut sind.
Zunächst klicken Sie auf die Schaltfläche Neu, um den Assistenten für Erweiterungen auszuwählen:
Der Assistent für schemabasierte Erweiterungen ist der Standardwert, da er Erweiterungen auf die generischste Weise verarbeitet. Er durchsucht die Plug-ins und bietet alle gefundenen Erweiterungspunkte - ob nun mit oder ohne Schema - an. Bei Punkten mit einem Schema kann PDE eine bessere Unterstützung bieten. Wenn kein Erweiterungspunktschema vorhanden ist, lässt PDE das Hinzufügen von Elementen und Attributen zur Erweiterung zu, kann jedoch nicht überprüfen, ob diese für den ausgewählten Erweiterungspunkt gültig sind.
Wenn Sie auf die Schaltfläche Weiter klicken, wird eine Liste mit Erweiterungspunkten angezeigt. Wählen Sie den Eintrag Aktionssets aus, und klicken Sie auf Fertig stellen.
Der Assistent fügt dann die neue Erweiterung zur Liste der Erweiterungen hinzu. Da dieser Erweiterung ein Schema zugeordnet ist, können Sie jetzt die Definition der Erweiterung weiter bearbeiten. Wählen Sie die neu hinzugefügte Erweiterung aus, und wählen Sie dann im Kontextmenü die Optionen Neu > Aktionsset aus. Dieses XML-Element wurde als einziges gültiges Element definiert, das in der Erweiterungsdefinition angezeigt werden kann.
PDE erstellt Standardwerte für alle erforderlichen Attribute. Der Standardname eines Aktionssets kann in "Sample Action Set" geändert werden, indem in der Sicht "Eigenschaften" die Eigenschaft Kennsatz ausgewählt wird. Der neue Name wird dann in der Liste der Erweiterungen angezeigt.
Als Nächstes müssen Sie ein Menü und eine Aktion für das Aktionsset definieren. Wenn Sie das Aktionsset auswählen und im Abschnitt mit den Kindern des Erweiterungselements das Kontextmenü öffnen, bietet das Menü "Neu" zwei Optionen (Menü und Aktion) an. Diese Optionen basieren auf den Schemainformationen für die Aktionsseterweiterung. Zunächst erstellen Sie das Menü.
Wählen Sie die Optionen Neu > Menü aus, um das Menü zu erstellen.
Wählen Sie das Menü aus, und ändern Sie seine Eigenschaften. Ändern Sie die ID in "sampleMenu" und den Kennsatz in "Sample Menu".
Lassen Sie das Menüobjekt aktiviert, rufen Sie ein Kontextmenü auf, und wählen Sie die Optionen Neu > Trennzeichen aus. Dann sollte ein neues Kind angezeigt werden.
Wählen Sie "Trennzeichen" aus, und ändern Sie seinen Namen in "sampleGroup". Hierdurch wird im Menü eine benannte Gruppe erstellt, die Sie zur Ergänzung der Aktion verwenden können.
Die Aktion wird auf ähnliche Weise erstellt:
Wählen Sie die Optionen Neu > Aktion aus, um eine Aktion zu erstellen.
Wählen Sie die Aktion aus, und ändern Sie ihre Eigenschaften. Ändern Sie ihren Kennsatz in "Sample Action" und ihre Eigenschaft menubarPath in "sampleMenu/sampleGroup". Hierdurch wird die Aktion zu dem Menü hinzugefügt, das Sie gerade definiert haben.
Als Letztes müssen Sie die Java-Klasse der Aktion definieren. Die Definition des Erweiterungspunkts gibt an, dass eine Aktion die Schnittstelle IWorkbenchWindowActionDelegate implementieren muss. PDE kann hierfür eine Unterstützung anbieten, da die Informationen aus dem Schema bekannt sind:
Klicken Sie auf die Eigenschaft class, um sie in den Bearbeitungsmodus zu setzen. Wählen Sie die Schaltfläche aus, um den Dialog mit dem Zelleneditor zu öffnen.
Wählen Sie das Optionsfeld aus, um eine neue Klasse zu erstellen.
Klicken Sie auf die Schaltfläche Durchsuchen, um den Quellencontainer zu durchsuchen, und wählen Sie "XYZ Plugin" aus.
Ändern Sie den Namen der Klasse in "SampleAction."
Bevor Sie auf die Schaltfläche Fertig stellen klicken, sollte der Dialog etwa so aussehen:
Nach der Fertigstellung wird die neue Klasse basierend auf der erforderlichen Schnittstelle (mit einer Stub-Implementierung für jede abstrakte Methode) generiert. Außerdem wird der Name der neuen Klasse für den Eigenschaftswert "class" definiert. Standardmäßig öffnet der Assistent zusätzlich die neue Java-Klasse, damit sie bearbeitet werden kann. Sie können nach der Methode "run" suchen und die folgende Anweisung hinzufügen:
System.out.println("Hello, PDE world!");
Speichern Sie den neuen Quellcode, und schließen Sie den Java-Editor. Kehren Sie dann zur Seite "Erweiterungen" des Manifesteditors zurück, und speichern Sie den Editor.
Dieses Beispiel wird im Abschnitt Plug-in ausführen fortgesetzt.