eclipse visiblewhen
时间: 2023-09-05 21:06:52 浏览: 54
在Eclipse中,可使用扩展点来定义在何种情况下应显示或隐藏某些操作或菜单项。这可以使用 visibleWhen 属性来实现,它可以指定一个表达式,该表达式返回 true 或 false。如果表达式返回 true,则操作或菜单项将显示;如果返回 false,则它将被隐藏。在表达式中,可以使用一些变量来引用当前上下文的各种属性,例如当前选择或打开的文件。
以下是一个示例,其中 visibleWhen 属性指定了一个表达式,该表达式根据当前选择的项目中是否包含名为“src”的文件夹来确定是否显示操作:
```xml
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.ui.editorPopupMenu">
<command commandId="org.eclipse.ui.edit.copy"
label="Copy"
mnemonic="C"
visibleWhen="activeMenuSelection:/?/projectNature='org.eclipse.jdt.core.javanature' && selection:/?/project/folder[name='src']"/>
</menuContribution>
</extension>
```
在此示例中,表达式“activeMenuSelection:/?/projectNature='org.eclipse.jdt.core.javanature'”检查当前选择的文件是否属于Java项目。然后,表达式“selection:/?/project/folder[name='src']”检查当前选择的项目中是否包含名为“src”的文件夹。这两个表达式都必须返回 true 才能显示“Copy”操作。