如何使某些扩展的eclipse上下文菜单项可见?

时间:2018-04-02 14:56:18

标签: eclipse-plugin contextmenu

我正在创建一个eclipse插件,它将项目添加到eclipse项目资源管理器上下文菜单中。我想让这个项目对某些扩展名可见。

我使用了下面的代码,但它没有用。

   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
         <menu
               label="Sample Menu"
               mnemonic="M"
               id="TTT.menus.sampleMenu">
            <command
                  commandId="TTT.commands.sampleCommand"
                  mnemonic="S"
                  id="TTT.menus.sampleCommand">

            <visibleWhen>
                <iterate operator="and" ifEmpty="false">
                   <test 
                          property="org.eclipse.core.resources.name" 
                          value="*.h" />
                </iterate>
            </visibleWhen>

            </command>
         </menu>
      </menuContribution>


      <menuContribution
            locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
         <toolbar
               id="TTT.toolbars.sampleToolbar">
            <command
                  commandId="TTT.commands.sampleCommand"
                  icon="icons/sample.gif"
                  tooltip="Say hello world"
                  id="TTT.toolbars.sampleCommand">
            </command>
         </toolbar>
      </menuContribution>
   </extension>

有人知道这方面的解决方案吗?

1 个答案:

答案 0 :(得分:0)

经过一些搜索后,我添加了

<adapt type="org.eclipse.core.resources.IResource">

代码如下:

<visibleWhen>                
    <iterate>
       <adapt type="org.eclipse.core.resources.IResource">
          <test property="org.eclipse.core.resources.name" 
                value="*.h"/>
       </adapt>
    </iterate>
</visibleWhen>