有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java有一个Eclipse插件弹出菜单,只有在选择文件夹时才会出现

我正在开发一个Eclipse插件,它接受一些输入。java文件。 由于这些文件可能很多,并且通常包含在一个包中,所以当我在包资源管理器中右键单击包含的包时,我想显示一个弹出菜单。 我在网上找到了下面的例子,它只在出现错误时才显示弹出菜单。已选择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

它可以工作,我正在尝试修改它以满足我的需要,但我不知道应该测试什么属性来检查所选资源是否是包。有人能告诉我应该测试哪个属性吗


共 (1) 个答案

  1. # 1 楼答案

    不要使用adapt,而是使用以下内容:

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