【问题标题】:How to remove Eclipse Context menu"MOVE" from project explorer from my Plugin如何从我的插件的项目资源管理器中删除 Eclipse 上下文菜单“MOVE”
【发布时间】: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


【解决方案1】:

您可以使用org.eclipse.ui.activities 扩展点来定义禁用的活动,并将其与您要禁止的菜单ID 匹配。

注意:活动显示在Preferences &gt; General &gt; Capabilities,因此用户可以再次启用它们。

【讨论】:

  • 有什么方法可以从 Eclipse 中获取 Refactor-> Move 选项?我发现 JDT 也将它添加为新的命令和处理程序。
  • Refactor 菜单是由各个视图和编辑器添加的,所以我认为没有任何东西可以涵盖所有这些。
  • 嗨,格雷格,谢谢我能够从项目资源管理器中删除“移动”上下文菜单。
  • @greg-449 我在 eclipse photon 中找不到这些活动,我需要有项目资源管理器的重命名上下文菜单的 id。我怎样才能得到那个 id?
猜你喜欢
  • 2014-06-22
  • 1970-01-01
  • 2017-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多