Ich probiere die Sichtbarkeit eines Befehls innerhalb des Kontextmenüs mit 'visibleWhen' in einem menuContribution aus. Ich versuche den Befehl nur im Kontextmenü sichtbar zu machen, wenn Sie:
Ich habe die erste mit 'visibleWhen' & gt; 'Auswahl (mit)' & gt; 'iterate' & gt; 'org.eclipse.core.resources.IResource (adapt)' durchgeführt und dann die Dateierweiterung für die Ressource überprüft . Der Code ist unten aufgeführt. Ich bin mir jedoch nicht sicher, wie derselbe Befehl nur dann angezeigt wird, wenn Sie mit der rechten Maustaste auf den richtigen Editor klicken, der eine Datei mit den korrekten Erweiterungen - ext1, ext2 - geöffnet hat.
Überprüfen, ob mein Editor aktiv ist, behebt das zweite Problem, scheint aber nicht zu helfen, da ich, wenn ich auf Dateien klicke, die nicht mein Typ sind, den Befehl immer noch im Kontextmenü anzeigen werde.
Irgendwelche Empfehlungen? Die "Eclipse Plug-ins (3rd Edition)" zeigt ein Beispiel für das Kontextmenü des Editors, aber es verwendet Aktionen und ich möchte bei den Befehlen bleiben.
Danke !!
%Vor% Ich konnte es mit einer with
-Variable, auf die ich gestoßen bin, erledigen. Verwenden Sie dasselbe Codebeispiel oben:
<or>
-Block innerhalb des <iterate>
-Blocks <adapt>
-Block im neuen <or>
-Block with
Variable namens activeEditorInput
Hier ist das neue Codebeispiel.
%Vor% @blissfool, würde ich eine leichte Umstrukturierung vorschlagen. Sie können Ihren Basistest (der korrekt ist) in einen org.eclipse.core.expressions.definitions
-Block setzen:
Dann in Ihrem visibleWhen bewegen Sie den activeEditorInput
Test bis zum Anfang:
Tags und Links eclipse eclipse-plugin