0

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

我发现当它不是文本编辑器时禁用它的代码如下:

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

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

4

1 回答 1

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>

然后我们需要在对应的command handler的tag中使用这个定义id,如下:

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

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

于 2012-05-03T10:20:26.097 回答