我应该使用哪个eclipse监听器向文本编辑器添加注释

时间:2013-03-15 13:36:27

标签: eclipse eclipse-plugin

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

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

我大致了解如何执行此操作:文本编辑器具有DocumentProvider。 DocumentProvider有一个AnnotationModel。可以向注释模型添加注释。

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

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

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

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

感谢所有帮助

1 个答案:

答案 0 :(得分:0)

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

提问者还提到了here

  

我将注释添加到资源,注释是   自动添加到编辑器中。

     

因此,当我的插件启动时,我会浏览活动资源,添加   如果需要,可以对它们进行注释,然后添加资源更改的侦听器   在资源打开时添加它们。