Ich versuche, was ich für ein sehr einfaches Eclipse-Plugin halte, zu schreiben, aber ich habe wirklich Schwierigkeiten, mich zurechtzufinden, da ich noch nie zuvor mit dem PDE gearbeitet habe.
Im Grunde genommen versuche ich, dem Kontextmenü des Java-Projekts ein Untermenü hinzuzufügen, das eine Liste der verfügbaren Dateien im Stammverzeichnis des Projekts auflistet. Danach, wenn eines dieser Untermenüelemente ausgewählt wird, möchte ich, dass der Handler aufgerufen wird und der Name der ausgewählten Datei übergeben wird.
Bisher habe ich es geschafft, das Menü korrekt erscheinen zu lassen, indem ich eine dynamische menuContribution zum Erweiterungspunkt org.eclipse.ui.menus hinzugefügt habe. Ich habe meinen eigenen CompoundContributionItem definiert, der alle Dateien im entsprechenden Verzeichnis findet und das Menü bevölkert. Jedes dieser Menüelemente ist mit meinem Handler (erweitert von AbstractHandler) verbunden und der Handler wird jedes Mal aufgerufen, wenn ein Menüelement ausgewählt wird. Was ich jedoch nicht weiß, ist, wie ich meinen Handler dazu bringen kann, tatsächlich etwas zu tun, basierend darauf, welches der Menüelemente ausgewählt wurde. Es wäre ausreichend, wenn ihm irgendwie der String des Menüelementlabels übergeben würde, aber ich vermute, dass es wahrscheinlich einen viel besseren Weg gibt, dies zu tun.
Ich habe versucht, den Code des org.eclipse.debug.ui durchzugehen, um zu sehen, wie sie es mit den Run/Debug-Konfigurationen machen, denn das ist ziemlich genau das, was ich möchte. Sie nehmen die .launch-Dateien aus dem .launches-Verzeichnis des Projekts auf und zeigen sie in einer Liste an. Der Code dafür ist jedoch sehr kompliziert und hat viele andere Verhaltensweisen, die damit nichts zu tun haben, daher habe ich als Anfänger Schwierigkeiten, mich damit zurechtzufinden. Außerdem haben sie es anscheinend anders gemacht als ich, daher könnte es sein, dass ich mit meinem Ansatz völlig falsch liege. Jede Hilfe oder Hinweise wären willkommen.