java - 插件,编译单元
问题描述
我正在制作一个插件,并且我希望仅在选择包含类的 .java 文件时才出现弹出菜单。我的问题是当我在 .java 文件(IType)中选择一个类时,菜单也会出现。我希望它仅在选择 .java 文件时出现(CompilationUnit)。
例子:
.
我的xml代码:
<menuContribution
allPopups="true"
locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
<menu
id="org.plugin.generate_test.handlers.menus.popupTestMenu2"
label="Generate"
mnemonic="P2">
<command
commandId="org.plugin.generate_test.handlers.commands.generateCommand"
id="org.plugin.generate_test.handlers.menus.generateCommand"
mnemonic="PC2"
style="push">
<visibleWhen
checkEnabled="false">
<with
variable="activeMenuSelection">
<iterate
ifEmpty="false">
<adapt
type="org.eclipse.core.resources.IResource">
<test
property="org.eclipse.core.resources.extension"
value="java">
</test>
</adapt>
</iterate>
</with>
</visibleWhen>
</command>
</menu>
</menuContribution>
解决方案
尝试用<adapt
测试替换你的 fo ICompilationUnit
:
<instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
推荐阅读
- ios - 我需要为 armv7s 编译什么 Xcode 版本?
- mysql - MariaDB 复制从属服务器到主服务器连接的权限被拒绝
- java - Maven 找不到本地安装的包
- mongodb - Mongodb - 如何只获取文档的一部分
- javascript - 在以 express 呈现视图后更新视图中的消息(一旦执行异步代码)
- angular - 获取通用 Angular 服务中的类型名称
- mysql - 需要你使用 SQL 子查询
- php - PHP DOM 解析 URL 没有返回任何内容
- javascript - 如何使用属性字符串来使用 Jquery 选择元素
- apache - Apache 2.4 mod_rewrite 为每个 RewriteRule 返回 404