我正在开发一个Eclipse插件,它将一些.java文件作为输入。 由于这些文件可能很多并且通常包含在一个包中,因此当我在Package Explorer中右键单击包含的包时,我想显示一个弹出菜单。 我能够在网上找到以下示例,仅在选择.java文件时显示弹出菜单:
...
<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>
...
(我省略了文件中不太相关的部分,完整代码here)
它有效,我试图修改它以满足我的需要,但我不知道我应该测试什么属性来检查所选资源是否是一个包。有人能指出我应该测试哪个属性吗?
答案 0 :(得分:1)
而不是adapt
使用类似的东西:
<or>
<instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
<instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
</or>