【发布时间】:2014-02-12 08:25:02
【问题描述】:
我有一个用例,我有一个插件,我想在项目资源管理器中删除来自 Eclipse 的“MOVE”上下文菜单。我从插件间谍获得的操作的ID 是="org.eclipse.jdt.ui.actions.Move"。我尝试了一个 hack,但它没有用。
<extension point="org.eclipse.ui.navigator.navigatorContent">
<actionProvider
class="com.dwb.repository.refactoring.ui.refactor.MoveActionProvider"
id="com.dwb.repository.refactoring.ui.MoveActionExtension"
overrides="org.eclipse.ui.edit.move"
priority="highest">
<enablement>
<!-- A hack to allways be enabled -->
<not>
<systemTest
property="org.eclipse.core.resources.projectNature"
value="com.myProjectNature">
</systemTest>
</not>
</enablement>
</actionProvider>
</extension>
有没有更好的方法?非常感谢任何帮助,谢谢。
【问题讨论】:
-
为什么要禁用移动?看起来您可能应该使用 Eclipse 重构 API。
-
嗨,在项目资源管理器中,我添加了我自己的命令 -> 重构 -> 在我的项目中为不同的视角移动。所以我需要删除“MOVE”。
-
在移动对象时需要运行来自许多插件的大量代码。 Eclipse 重构 API 处理这个问题。
-
我添加的 Move 命令扩展到了 Eclipse REfactoring API。我使用 LTK 框架,因此移动实际上执行了相应的操作。但是我需要为我的域对象的移动添加更多细节/条件。即使在 Eclipse 插件中,对于 Java 文件,Move 也不会出现。只有重构->移动。
标签: java eclipse eclipse-plugin contextmenu