为 SWT 应用程序配备内容助理:通过上下文敏感的智能内容完成建议,提高最终用户的便利性和生产率
2009-12-14 00:00:00 来源:WEB开发网核心提示: 实现内容助理处理器 类 HtmlContentAssistProcessor 还不存在,现在通过单击 QuickFix灯泡状图标来创建它,为 SWT 应用程序配备内容助理:通过上下文敏感的智能内容完成建议,提高最终用户的便利性和生产率(4),在这个新类中,我们只需完成从接口 IContentAs
实现内容助理处理器
类 HtmlContentAssistProcessor 还不存在。现在通过单击 QuickFix灯泡状图标来创建它。在这个新类中,我们只需完成从接口 IContentAssistProcessor 继承来的预先生成的方法。我们最感兴趣的方法是 computeCompletionProposals() 。这个方法返回一个 CompletionProposal 实例数组,我们提供的每个建议分别有一个实例。例如,我们可以提供所有 HTML 标签的集合以供选择。然而,我们希望它更高级一点。当在编辑器中选中一个文本范围时,我们希望提供一个可用于包装这段文本的样式标签集合。否则,我们就提供用于创建新 HTML 结构的标签。图 3 和图 4 显示了我们想要达到的效果。
图 3. structProposal
图 4. styleProposal
查看原图(大图)
因此,首先要从编辑器的 SourceViewer 实例中检索当前选中的内容(参见清单 2)。
清单 2. computeCompletionProposals
public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer,
int documentOffset) {
// Retrieve current document
IDocument doc = viewer.getDocument();
// Retrieve current selection range
Point selectedRange = viewer.getSelectedRange();
更多精彩
赞助商链接