4

我是一个日食新手。我有一个长期目标,就是将我自己的注释添加到 java 编辑器中:有点像 FindBugs。我想要我自己的静态代码分析器,并且能够向资源添加标记/注释。

所以我阅读了很多优秀的文档,并承担了大量的教程。最有帮助的可能是http://www.ibm.com/developerworks/opensource/tutorials/os-ecl-commplgin2/section9.html。很多 Lars Vogel 文档也很有用。我现在可以使用语法荧光笔制作 TextEditor。然而,我正在努力寻找添加注释的最佳方法。

我大致了解如何做到这一点:文本编辑器有一个 DocumentProvider。DocumentProvider 有一个 AnnotationModel。可以将注释添加到注释模型。

我的问题是“我把这段代码放在哪里”,特别是在编辑器中扫描文本并更新注释模型的代码。似乎很明显,这应该是对听众的回应……但是哪一个呢?

我已经尝试过 ResourceChangeListener。这似乎只在保存选项时触发,而不是在输入文本时触发。另外我不知道如何从资源中获取编辑器。(“The”编辑器可能用词不当,因为资源可以在多个编辑器中打开)。我可以通过 IWorkbenchWindow activeWorkbenchWindow = workbench.getActiveWorkbenchWindow().getActivePage().getActiveEditor() 找到当前编辑器,但这似乎是错误的方法,因为我想更新所有相关的注释模型。

我尝试将 ElementStateListener 添加到文本编辑器。这些事件似乎都不是我想要的。

我查看了DamageRepairers ...这些似乎几乎是我想要的,除了我想长期绑定到JavaEditor,所以我不想更改默认的DamageRepair。

感谢所有的帮助

4

1 回答 1

0

我发现可以通过提及以下资源来回答这个问题:www.ibm.com/developerworks/opensource/tutorials/os-eclipse-plugin-guide/index.html

问题作者还在这里提到:

我将注释添加到资源中,并且注释会自动神奇地添加到编辑器中。

因此,当我的插件启动时,我会遍历活动资源,如果需要,向它们添加注释,然后添加一个资源更改侦听器,该侦听器会在资源打开时添加它们。

于 2013-04-22T10:05:56.670 回答