【问题标题】:How to find a command ID for a key binding in Eclipse?如何在 Eclipse 中查找键绑定的命令 ID?
【发布时间】:2013-11-27 11:24:38
【问题描述】:

在 Eclipse(3.x)中,您可以使用 Plug-in SpyMenu Selection Spy 来查找有关可通过以下方式访问的 UI 元素的信息鼠标。

我现在面临的问题是我想了解由某个键绑定触发的命令(我需要命令 id),因为我想在我的自定义 UI 中为此命令创建一个菜单项(查看/编辑))。

在我的具体案例中,我正在寻找由 Numpad+Plus 在通用导航器中触发的 Expand All children 命令。不过,我对找出键绑定的一般方法很感兴趣。

我知道我可以通过首选项对话框或键绑定 QuickView(Windows 中的 CTRL+SHIFT+L)访问键绑定;但是在那里,我只能找到命令名称,而不是 ID 或命令的贡献插件。

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp


    【解决方案1】:

    我找到了一个更符合我要求的替代方案。

    This article 描述了如何打开键绑定机制的跟踪。这将向控制台报告每个按键和触发的快捷键/键绑定。

    在启动配置对话框中,转到 Tracing 选项卡并启用常规跟踪。 然后选择插件org.eclipse.ui并激活选项:

    org.eclipse.ui/debug
    org.eclipse.ui/trace/keyBindings
    org.eclipse.ui/trace/keyBindings.verbose

    这不是超级方便,但它符合我的目的,不需要我猜测贡献的插件。 (至少在贡献插件不明显的情况下)。

    【讨论】:

    • 请注意,这相当于 -debug 命令行选项和文件中的跟踪选项(因此您也可以对已安装的 Eclipse 执行此操作)。
    • 在我的例子中,这比使用插件搜索逐步检查每个匹配的插件要高效得多。在这里,我只需启动跟踪并触发键绑定即可找到它的插件,轻松打印到控制台视图。
    • 我必须启用 org.eclipse.ui/trace/commands。然后就不需要 trace/keyBindings 和 trace/keyBindings.verbose 了。此外,我认为这非常方便!非常感谢:)
    【解决方案2】:

    您可以使用 Eclipse Search / Plug-in Search 来搜索扩展点。在这种情况下,搜索 org.eclipse.ui.bindings 以查看键绑定:

    搜索将给出一个插件列表,打开一个列表项以查看插件的 plugin.xml 并突出显示扩展点。您必须搜索插件和条目才能找到所需的内容。

    Expand All 键绑定在 org.eclipse.ui 插件中定义,命令 ID 为 org.eclipse.ui.navigate.expandAll

    您可能需要检查Preferences > Plug-in Development 中的Include all plug-ins from target in Java search 以在目标平台(需要是Eclipse)中进行搜索。

    【讨论】:

    • 好吧,我忘了插件搜索。但这只会让我所有贡献的插件。我必须手动浏览所有这些(或猜测它的位置)。
    • 一般不难猜出可能是哪些插件。
    • 接受了答案。然而,对于某些情况,我发现的跟踪方法似乎更适合。 (请参阅相应的答案)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多