9

如何在插件中为“打开声明”(又名 F3)注册额外的处理程序/操作/命令?

我想在 Java 代码中对字符串文字使用F3来导航到声明资源包键的文件。我已经准备好完成这项工作的上下文菜单操作。所缺少的只是一种将其绑定到用户习惯的密钥的方法。

完整的带注释的扩展点列表的额外功劳。我已经厌倦了不得不花半天时间来找到我必须用于某个功能的扩展点。我所说的“带注释”的意思不仅仅是

Identifier: org.eclipse.ui.workbench.texteditor.quickdiffReferenceProvider
Description: Allows contributors to add reference providers for the quick diff display.
4

3 回答 3

1

也许您知道这一点,但是尽管 F3 键盘快捷键不会将您带到声明资源包的键,但有两个类似的事情确实有效:

  • 将鼠标悬停在字符串上会显示转换后的字符串。
  • 按住 Control 键单击该字符串将跳转到声明资源包键。

显然,这两者都需要使用鼠标。如果你是一个只用键盘的人,你可能对这些不满意。

这并不能直接回答您的问题,但希望对您有所帮助。

于 2009-12-12T18:33:56.480 回答
1

有关如何实现命令处理程序并将它们绑定到键、菜单和工具栏的详细说明,请参阅Eclipse 命令教程中的键绑定部分。

Eclipse 帮助中提供了完整的扩展点列表,但您必须深入了解才能获得完整的描述和代码示例。插件编辑器中还有一个“添加扩展点”向导,它显示了简要说明、完整帮助的链接,对于某些扩展点甚至有预定义的模板。

于 2009-12-10T19:01:12.847 回答
1

不幸的是,没有扩展点供您扩展此功能。我建议您停止尝试使用 Eclipse 命令框架。JavaEditor 不使用该框架来注册其命令,而是在打开编辑器时注册命令。第三方没有简单的方法来扩展/更改它。

按下 F3 时运行的动作是org.eclipse.jdt.ui.actions.OpenAction.

尽管没有简单的方法来扩展或更改 JavaEditor,但有一些方法可以做到这一点。我针对您的情况推荐的一种方法是通过 Equinox Aspects (http://www.eclipse.org/equinox/incubator/aspects/)。这允许您使用 AspectJ 编织到 Eclipse 中并在您需要的地方进行更改。

这就是 AJDT (http://eclipse.org/ajdt) 能够改变 JDT 工作方式的方式。

在您的特定情况下,我建议创建一个以OpenAction类的实例化为目标的切入点,并将其替换为您创建的实现。它通常委托给 JDT 的实现,或者在您需要时运行您的命令。

如果这是您正在寻找的解决方案,那么我可以详细说明如何执行此操作。

于 2011-02-21T05:54:35.743 回答