Eclipse: Contextmenu id erhalten?

  • Themenstarter Themenstarter BerNda
  • Beginndatum Beginndatum
B

BerNda

Gast
Hi,

ich möchte gerne über das Extensionframework in der plugin.xml für mein Eclipseplugin einen neuen Eintrag in das Kontextmenu hinzufügen, der in 2-3 Contextmenus vorkommt.

Ich hab diese locationUri für "alle" contextmenus gefunden: "popup😱rg.eclipse.ui.popup.any?after=additions"

Aber alle sind zuviele, nun krieg ich aber nicht heraus, wie ich von einem bestimmten fenster die Kontext-uri bekomme.

Ich will meinen Eintrag z.B. im Contextmenu der Outlineview sehen. ich hab daher auf gut glück versucht "popup😱rg.eclipse.ui.popup.ContentOutline?after=additions", aber das funktioniert nicht.

Wie kann man diese Menu-URIs ermitteln? Ich finde dazu nichts, auch dieser Plugin-Spy Alt+Shift+F1 spuckt mir die URI nicht aus.
Kann mir jemand helfen?
 
Danke,

klappt so weit ganz gut. Nur die locationURI für die ContentOutline funktioniert nicht.

"popup😱rg.eclipse.ui.views.ContentOutline?after=additions"

Ich verstehe nicht ganz warum? Für den package-explorer klappt das wunderbar
 
Die Outline ist erstmal ein leerer Container der sich anhand einer aktuellen Selektion mit ganz verschiedenartigem Inhalt füllt. Es hängt also von der konkreten Outline Page Implementierung ob, ob sie Menu Additions erlaubt und ob sie eine spezielle ID dafür verwendet.
 
hm, das wusste ich nicht.

Wenn diese any-id benutze, sehe ich mein option im kontextmenu. Also prinzipiell muss das für z.b. das Java-ContentOutlining gehen, aber wie Spreche ich den jetzt eine konkrete Outlining-id an? Der plugin-spy liefert mir nur die Id des Kontainers?
 
In der Doku steht das hier:

The content outline page of the Java editor. The viewer implements a proprietary update mechanism based on Java model deltas. It does not react on domain changes. It is specified to show the content of ICompilationUnits and IClassFiles. Publishes its context menu under JavaPlugin.getDefault().getPluginId() + ".outline".

Kann man Java-Code in der plugin.xml spezifieren oder muss ich meinen Menueintrag immer programmatisch da rein bringen?
 
Kann man Java-Code in der plugin.xml spezifieren oder muss ich meinen Menueintrag immer programmatisch da rein bringen?
Du brauchst keinen Java Code in der plugin.xml. JavaPlugin.getDefault().getPluginId() ist eine Konstante (der symbolic name des Bundles)
 
hm, sorry. Klappt nicht.

Damit ich das richtig verstehe, BundleName ist dann doch die ConteView locationUri (org.eclipse.ui.views.ContentOutline) oder woher kriege ich die Bundle id von einem fremden Plugin?
 

Zurück
Oben