我是Eclipse插件开发的新手,如果活动工作台窗口不是.js
或.html
文件,我会尝试禁用菜单项的命令处理程序。
我发现代码在它不是文本编辑器时禁用它,如下所示:
<activeWhen>
<with variable="activeEditorId">
<equals value="org.eclipse.ui.DefaultTextEditor"/>
</with>
</activeWhen>
我想要javascript和html编辑器的类似功能。
答案 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>
我正在使用此代码。它工作正常。