2016-03-22 5 views
0

Ich entwickle ein Eclipse-Plugin, das als Eingabe einige .java-Dateien verwendet. Da diese Dateien sehr viel sein können und im Allgemeinen in einem Paket enthalten sind, möchte ich ein Popup-Menü anzeigen, wenn ich mit der rechten Maustaste auf das enthaltende Paket im Paket-Explorer klicke. konnte ich das folgende Beispiel im Web finden, das das Popup-Menü zeigt nur, wenn eine .java-Datei ausgewählt ist:Lassen Sie ein Eclipse-Plugin-Popup-Menü nur erscheinen, wenn ein Ordner ausgewählt ist

... 
<command 
    commandId = "AppAnalyzer.CodeToSrcML" 
    label="Code to srcML" 
    style="push" 
    tooltip="Transforms all the files in the folder"> 
    <visibleWhen> 
    <with variable="activeMenuSelection"> 
     <iterate ifEmpty="false"> 
     <adapt type="org.eclipse.core.resources.IResource"> 
      <test property="org.eclipse.core.resources.name" value="*.java" /> 
     </adapt> 
     </iterate> 
    </with> 
    </visibleWhen> 
</command> 
... 

(ich die weniger relevanten Teile der Datei weggelassen, vollständiger Code here)

Es funktioniert und ich versuche, es an meine Bedürfnisse anzupassen, aber ich habe keine Ahnung, welche Eigenschaft sollte ich testen, um zu überprüfen, ob die ausgewählte Ressource ein Paket ist. Kann mir jemand auf welche Immobilie hinweisen?

Antwort

1

Anstelle der adapt Verwendung so etwas wie:

<or> 
    <instanceof value="org.eclipse.jdt.core.IPackageFragment"/> 
    <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/> 
</or> 
+0

Es funktioniert, danke! –

Verwandte Themen