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.
Zusätzlich zum generischen Assistenten sind weitere Erweiterungsschablonen verfügbar. Es handelt sich dabei um dieselben Schablonen, die zum Generieren des Anfangsinhalts des Plug-in-Projekts verwendet werden können. Sie sind an dieser Stelle vorhanden, damit Sie die Erweiterungserstellung zwischenspeichern können. Sie können ein Plug-in mit einer einfachen Sicht erstellen und anschließend später einen Editor oder einen Assistenten hinzufügen.
Um die Verwendung der Seite "Erweiterungen" zu veranschaulichen, werden Sie jetzt eine Aktion "Hallo PDE-Welt" zu Ihrem Plug-in hinzufügen. Hierbei wird die Ergänzung für den 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 Hinzufügen, um den Assistenten für Erweiterungen auszuwählen:
Der Assistent für schemabasierte Erweiterungen ist der Standardwert, da er Erweiterung 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 org.eclipse.ui.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 "Beispielaktionsset" 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 untergeordneten Elementen 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ü.
Die Aktion wird auf ähnliche Weise erstellt:
Als Letztes müssen Sie die Java-Klasse der Aktion definieren. Die Definition des Erweiterungspunkts gibt an, dass eine Aktion IWorkbenchWindowActionDelegate implementieren muss. PDE kann hierfür eine Unterstützung anbieten, da die Informationen aus dem Schema bekannt sind:
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 fortgesetzt, wenn Sie das Plug-in ausführen.