基于活动工作台页面禁用Eclipse命令处理程序

时间:2012-04-30 11:12:36

标签: eclipse-rcp eclipse-plugin

我是Eclipse插件开发的新手,如果活动工作台窗口不是.js.html文件,我会尝试禁用菜单项的命令处理程序。

我发现代码在它不是文本编辑器时禁用它,如下所示:

<activeWhen>
    <with variable="activeEditorId">
       <equals value="org.eclipse.ui.DefaultTextEditor"/>
    </with>
</activeWhen>

我想要javascript和html编辑器的类似功能。

1 个答案:

答案 0 :(得分:1)

这可以通过使用如下定义来完成:

 
<extension point="org.eclipse.core.expressions.definitions">
        <definition id="example.definitions.sampleDefinition">
          <adapt type="org.eclipse.core.resources.IResource">
            <or>
                <test property="org.eclipse.core.resources.name"
                         value="*.html"/>
                 <test property="org.eclipse.core.resources.name"
                         value="*.js"/>
            </or>
           </adapt>
        </definition>
   </extension>

然后我们需要在相应的命令处理程序的标记中使用此定义id,如下所示:

<enabledWhen>
        <with variable="activeEditorInput">
    <reference definitionId="example.definitions.sampleDefinition"/>
  </with>
</enabledWhen>

我正在使用此代码。它工作正常。