我正在实施任务工具.作为其中的一部分,我正在制作一个
Eclipse插件来反映某些代码级别的问题.
在Eclipse插件中,我的目标是根据主机任务的状态将一些可视化辅助工具附加到不同的Java元素.我已经成功地将多色标记添加到默认Java编辑器的垂直标尺以及概述显示的资源图标.但是,我无法更改Java内容辅助中的图标.
起初我认为通过使用扩展点org.eclipse.ui.decorators并将其启用设置为org.eclipse.jdt.core.IJavaElement,内容助手也会受到影响,因为这是元素图标的情况.概述.我已经尝试了几个其他的启用类,一直到ICompletionProposal.
由于这种方法,其他一些并扩展了默认的Java内容辅助,不会是work.我决定实现自己的内容辅助.
现在的想法是以某种方式获取默认的Java内容辅助结果,并对建议的元素运行一些检查,如果匹配,则更改内容辅助中显示的图标,以反映相关任务的级别.
我试图浏览Eclipse的默认Java编辑器和Mylyn项目的源代码,但我无法理解它们如何提供Java内容辅助以及如何访问/重做它们.
最终的结果我想得到:LINK
实际的问题
在Eclipse中为默认Java编辑器提供新的内容辅助(类别)时,如何获得默认Java内容助手为该点生成的提议列表?
我的第一个问题,当然还有一个长篇介绍,请让我知道我是否应该以任何方式编辑这个,最重要的是提前感谢所有的帮助!
-J3lly
最佳答案 请查看以下扩展点:
org.eclipse.jdt.ui.javaCompletionProposalComputer
要实现自己的内容辅助,您必须编写一个实现org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer的类.在您的情况下,由于您要修改默认Java内容辅助的行为,您应该覆盖其中一个内部实现org.eclipse.jdt.internal.ui.text.java.JavaCompletionProposalComputer,org.eclipse.jdt.internal. ui.text.java.JavaAllCompletionProposalComputer或任何其他实现,具体取决于您要修改的内容辅助.
现在,您所要做的就是覆盖computeCompletionProposals方法,该方法返回完成提议列表.重写的方法应调用super.computeCompletionProposals(…)来获取默认的完成提议,然后您可以根据需要修改它们.