如何使用IContentAssist Processor在自动完成中显示其他信息弹出窗口

时间:2015-01-28 21:22:35

标签: java eclipse eclipse-plugin swt editor

我创建了一个自定义eclipse编辑器(AbstractDecoratedTextEditor),并使用IContentAssistProcessor实现了自动完成功能。

在扩展IContentAssistProcessor的类中,我重写了返回computeCompletionProposals列表的方法ICompletionProposal

但是当自动完成对话框运行时,我无法在Java中以黄色对话框显示其他信息。

例如,在Java中我有Javadoc对话框:

enter image description here

但在我的自定义自动完成中,我无法创建此黄色对话框以显示其他信息。

如何创建此对话框?

1 个答案:

答案 0 :(得分:3)

要显示附加信息弹出窗口,您需要做两件事:

  1. ICompletionProposal#getAdditionalProposalInfo()必须返回一个字符串,其中包含您可能已经拥有的信息。
  2. 用于展示提案的ContentAssistant必须设置IInformationControlCreator。使用contentAssistant.setInformationControlCreator()分配一个。以下是信息控制创建者的示例:
  3. class SimpleInformationControlCreator implements IInformationControlCreator {
      public IInformationControl createInformationControl( Shell shell ) {
        return new DefaultInformationControl( shell, true );
      }
    }