在进行文本编辑器的开发时候,经常会遇到对相关内容的提示,可以通过如下代码实现SourceViewerConfiguration的
public IContentAssistant getContentAssistant(ISourceViewer sourceViewer)
{
ContentAssistant assistant = new ContentAssistant();
assistant.setContentAssistProcessor (new XMLCompletionProcessor (), XMLPartitionScanner.XML_TAG);
assistant.enableAutoActivation(true);
assistant.setAutoActivationDelay(250);
assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
assistant.setProposalSelectorBackground(ColorManager.background);
assistant.setProposalSelectorForeground(ColorManager.foreground);
return assistant;
}
其中XMLCompletionProcessor 主要实现IContentAssistProcessor接口,内容辅助主要实现接口中的
public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset)
{
for (int i = 0; i < 5;i++)
{
result[i] = new CompletionProposal("bbb", documentOffset, 0, 3, null,
"aaa",null, "");
}
return result;
}
此时会在辅助框中出现5个aaa,当确定后,补充到文本编辑器的相应位置是bbb,具体参数的说明请见API说明。