org.eclipse.ui.menus 的名称过滤器 - 也适用于编辑器视图
Name filter for org.eclipse.ui.menus - also for editor view
我有一个由此扩展点定义的菜单:org.eclipse.ui.menus
。
它的位置 URI 是popup:org.eclipse.ui.popup.any
,这意味着它也会从不同的资源管理器视图和编辑器视图中显示(右键单击代码的某处)。
我希望此菜单仅针对某些扩展程序显示。我使用了来自 here 的 greg 的回答,它非常适合浏览器视图。
如何为编辑器视图执行相同的过滤器 also?
我想改变它的方式,如果有人从编辑器视图(和资源管理器视图)右键单击文件,只有当它是“*.myextension”文件时才会显示。
谢谢。
尝试合并过滤器 - 按照 greg 的回答,这是我的代码,但没有按预期工作。
<visibleWhen
checkEnabled="false">
<iterate
ifEmpty="false"
operator="or">
<or>
<test
property="org.eclipse.core.resources.name"
value="*.myextension">
</test>
</or>
<or>
<with variable="activeEditorInput">
<adapt type="org.eclipse.core.resources.IResource">
<test
property="org.eclipse.core.resources.name"
value="*.myextension">
</test>
</adapt>
</with>
</or>
</iterate>
</visibleWhen>
对于编辑器,您可以使用以下内容测试 'active editor input':
<visibleWhen
checkEnabled="false">
<with variable="activeEditorInput">
<adapt type="org.eclipse.core.resources.IResource">
<test
property="org.eclipse.core.resources.name"
value="*.myextension">
</test>
</adapt>
</with>
</visibleWhen>
这是获取活动编辑器的输入,获取正在编辑的 IResource
并对其进行测试。
合并可能会得到:
<visibleWhen
checkEnabled="false">
<or>
<with variable="activeEditorInput">
<adapt type="org.eclipse.core.resources.IResource">
<test
property="org.eclipse.core.resources.name"
value="*.myextension">
</test>
</adapt>
</with>
<iterate
ifEmpty="false"
operator="or">
<test
property="org.eclipse.core.resources.name"
value="*.myextension">
</test>
</iterate>
</or>
</visibleWhen>
我有一个由此扩展点定义的菜单:org.eclipse.ui.menus
。
它的位置 URI 是popup:org.eclipse.ui.popup.any
,这意味着它也会从不同的资源管理器视图和编辑器视图中显示(右键单击代码的某处)。
我希望此菜单仅针对某些扩展程序显示。我使用了来自 here 的 greg 的回答,它非常适合浏览器视图。 如何为编辑器视图执行相同的过滤器 also?
我想改变它的方式,如果有人从编辑器视图(和资源管理器视图)右键单击文件,只有当它是“*.myextension”文件时才会显示。
谢谢。
尝试合并过滤器 - 按照 greg 的回答,这是我的代码,但没有按预期工作。
<visibleWhen
checkEnabled="false">
<iterate
ifEmpty="false"
operator="or">
<or>
<test
property="org.eclipse.core.resources.name"
value="*.myextension">
</test>
</or>
<or>
<with variable="activeEditorInput">
<adapt type="org.eclipse.core.resources.IResource">
<test
property="org.eclipse.core.resources.name"
value="*.myextension">
</test>
</adapt>
</with>
</or>
</iterate>
</visibleWhen>
对于编辑器,您可以使用以下内容测试 'active editor input':
<visibleWhen
checkEnabled="false">
<with variable="activeEditorInput">
<adapt type="org.eclipse.core.resources.IResource">
<test
property="org.eclipse.core.resources.name"
value="*.myextension">
</test>
</adapt>
</with>
</visibleWhen>
这是获取活动编辑器的输入,获取正在编辑的 IResource
并对其进行测试。
合并可能会得到:
<visibleWhen
checkEnabled="false">
<or>
<with variable="activeEditorInput">
<adapt type="org.eclipse.core.resources.IResource">
<test
property="org.eclipse.core.resources.name"
value="*.myextension">
</test>
</adapt>
</with>
<iterate
ifEmpty="false"
operator="or">
<test
property="org.eclipse.core.resources.name"
value="*.myextension">
</test>
</iterate>
</or>
</visibleWhen>