在進行文本編輯器的開發時候,經常會遇到對相關內容的提示,可以通過如下代碼實現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說明。