2013-11-04 58 views
4

我有一个菜单贡献,通过org.eclipse.ui.menus扩展点实现。我只想为特定文件扩展名(例如* .pld)提供此菜单贡献,但我无法弄清楚如何使用“visibleWhen”执行此操作。有任何想法吗?eclipse.ui.menus的名称过滤器

---------------更新---------------- 我的扩展点至今:

<extension 
     point="org.eclipse.ui.menus"> 
     <menuContribution 
      allPopups="false" 
      locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?before=additions"> 
     <command 
       commandId="org.variability.configurator.commands.createPlc" 
       icon="icons/PlcWizard.png" 
       label="Create Product" 
       style="push"> 
      <visibleWhen 
        checkEnabled="false"> 

      </visibleWhen> 
     </command> 
     </menuContribution> 
    </extension> 

欢呼声中, 菲尔

回答

3

有一对夫妇的性能测试,你可以使用:

<test 
    property="org.eclipse.core.resources.name" 
    value="*.pld"> 
</test> 

<test 
    property="org.eclipse.core.resources.extension" 
    value="pld"> 
</test> 

您将需要在选择迭代等等全时可见会是这样的:

<visibleWhen 
     checkEnabled="false"> 
    <iterate 
     ifEmpty="false" 
     operator="or"> 
     <test 
      property="org.eclipse.core.resources.name" 
      value="*.pld"> 
     </test> 
    </iterate> 
</visibleWhen> 
+0

THX,但都没有奏效。我说的对与这样: .... <测试 属性= “org.eclipse.core.resources.name” \t \t值= “* PLD” > ... – ph09

+0

展开全部可见的答案时 –