Plugins 弹出菜单中的可见性
我已经创建了一个eclipse插件项目。我希望这个插件可以作为一个弹出窗口。因此,我用“org.eclipse.ui.popupmones”创建了一个扩展点(我知道它现在已经被弃用了,我们的是一个旧项目) 我希望这个弹出选项只出现在具有特定扩展名(比如xml)的文件级别。目前,它出现在右键单击的任何位置 我环顾了一下互联网,知道我可以添加一个“可见性”标签,它可以设置弹出窗口应该在哪里可见的规则。然而,我不知道这句话的语法 有人能帮我吗?如何设置弹出菜单的可见性,使其仅在右键单击扩展名为xml的文件名时可见Plugins 弹出菜单中的可见性,plugins,eclipse-plugin,eclipse-rcp,popupmenu,eclipse-sirius,Plugins,Eclipse Plugin,Eclipse Rcp,Popupmenu,Eclipse Sirius,我已经创建了一个eclipse插件项目。我希望这个插件可以作为一个弹出窗口。因此,我用“org.eclipse.ui.popupmones”创建了一个扩展点(我知道它现在已经被弃用了,我们的是一个旧项目) 我希望这个弹出选项只出现在具有特定扩展名(比如xml)的文件级别。目前,它出现在右键单击的任何位置 我环顾了一下互联网,知道我可以添加一个“可见性”标签,它可以设置弹出窗口应该在哪里可见的规则。然而,我不知道这句话的语法 有人能帮我吗?如何设置弹出菜单的可见性,使其仅在右键单击扩展名为xml的
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension point="org.eclipse.ui.popupMenus">
<objectContribution
adaptable="true"
objectClass="org.eclipse.core.resources.IFile"
nameFilter="*.*"
id="org.eclipse.lyo.tools.codegenerator.ui.popupMenus.contribution.IFile">
<menu id="org.eclipse.acceleo.module.menu" label="Acceleo Model Code Generator" path="additionsAcceleo">
<groupMarker name="acceleo"/>
</menu>
<action
class="org.eclipse.lyo.tools.codegenerator.ui.popupMenus.AcceleoGenerateCodegeneratorAction"
enablesFor="+"
id="org.eclipse.lyo.tools.codegenerator.ui.popupMenus.AcceleoGenerateCodegeneratorAction"
icon="icons/default.gif"
label="Generate Java Code from Model"
menubarPath="org.eclipse.acceleo.module.menu/acceleo"/>
<visibility>
//what should come here?
</visibility>
</objectContribution>
</extension>
</plugin>
)
问候,,
Yash可见性
只能是对象贡献
的子对象,而不能是操作
在任何情况下,都可以使用namefilter
属性来限制文件名匹配。您将只使用可见性
执行更复杂的检查
例如,这是JDT项目之一:
在这个
adaptive=“true”
objectClass=“org.eclipse.core.resources.IFile”
将操作限制到工作区文件
nameFilter=“*.xml”
将操作限制为以.xml结尾的文件
进一步将操作限制为“内容类型”为“Ant build file”的文件
要匹配多个名称模式,请删除名称过滤器
,并使用可见性
,如:
谢谢你的回答,格雷格。补充问题。如果要为nameFilter设置多个值。怎么做?nameFilter=“*.xml,*.java”不起作用。添加两个nameFilter也不起作用。nameFilter只接受一个模式。这是XML,不能指定两次nameFilter属性。取而代之的是删除nameFilter
,并使用可见性-请参阅更新的答案。