如何扩展Eclipse';使用Java编辑器识别我自己的元素

如何扩展Eclipse';使用Java编辑器识别我自己的元素,java,eclipse,eclipse-jdt,Java,Eclipse,Eclipse Jdt,我想在javadoc中添加对其他元素的引用。javadoc的外观应类似于: /** * ... * @my.tag SomeElement */ 我想重用Eclipse中现有的Java编辑器。当然我已经可以在上面输入javadoc了,但是我想添加一些功能: 导航:在按住Ctrl键并单击/F3时,我想导航到显示SomeElement的编辑器 自动完成:Ctrl空格应完成文本/显示有效的替代项 检查:如果找不到SomeElement,我想创建一个警告标记并在它下面划线 我已经发现我可以通过使用

我想在javadoc中添加对其他元素的引用。javadoc的外观应类似于:

/**
* ...
* @my.tag SomeElement
*/
我想重用Eclipse中现有的Java编辑器。当然我已经可以在上面输入javadoc了,但是我想添加一些功能:

  • 导航:在按住Ctrl键并单击/F3时,我想导航到显示SomeElement的编辑器
  • 自动完成:Ctrl空格应完成文本/显示有效的替代项
  • 检查:如果找不到SomeElement,我想创建一个警告标记并在它下面划线
我已经发现我可以通过使用扩展点
org.eclipse.jdt.ui.javaCompletionProposalComputer
来完成自动完成,尽管这似乎比我希望的要复杂一点,所以我可能走错了方向

为了检查我的元素,我可以使用
org.eclipse.jdt.core.compilationParticipant
,它可以在编译时生成标记,每次保存操作都会生成标记


但是我怎样才能管理导航功能呢?欢迎任何指点

对于导航,您可以提供一个。您需要了解Java编辑器及其现有检测器是如何在
org.eclipse.jdt.ui
插件中声明的,以确定正确的目标ID。

eclipse的哪个版本?上次我检查时,Java编辑器是由Eclipse内部类组成的,这意味着代码和方法签名可以从Eclipse版本更改为Eclipse版本。@GilbertLeBlanc我使用Eclipse Mars.2(4.5.2),但一般来说,我更喜欢使用API/扩展点来实现我的目标。我现在有HyperlinkDetector,但是它只为Ctrl-Click提供导航,而不为F3提供导航。有什么办法可以解决吗?你的探测器根本没有被调用,或者只是没有正确地处理调用?当按下Ctrl+移动鼠标时,我的探测器会立即被调用,甚至在单击之前。但是,按F3键(也称为“转到定义”)根本不调用它,eclipse中的状态文本表示“当前文本选择无法在编辑器中打开”。您的检测器返回一个超链接,显示悬停在上面或没有悬停在上面的内容。只有当一个返回的超链接被激活时,它才应该真正打开一个编辑器,那么在后一种情况下,您是否返回了一个超链接?否。我的detectHyperlinks()方法不是通过按F3触发的。