WEB开发网
开发学院软件开发Java 基于 JFace Text Framework 构建全功能代码编辑器... 阅读

基于 JFace Text Framework 构建全功能代码编辑器: 第 7 部分:Quick Assistant

 2010-03-18 00:00:00 来源:WEB开发网   
核心提示:Quick AssistantQuick Assistant(快速帮助)的基本用途是为源代码中的错误提供一些快速的解决方案,快速的意思是指这个方案足够简单或者足够模式化,基于 JFace Text Framework 构建全功能代码编辑器: 第 7 部分:Quick Assistant,可以由程序帮你自动完成,当然快速

Quick Assistant

Quick Assistant(快速帮助)的基本用途是为源代码中的错误提供一些快速的解决方案。快速的意思是指这个方案足够简单或者足够模式化,可以由程序帮你自动完成。当然快速帮助是无法解决深层次的问题的,不过一般我们在编写代码的时候,犯的最多的都是一些小错误,所以快速帮助是个非常有用的功能。

在 Java 编辑器中,快速帮助看上去就是下图的样子:

图1. Java 编辑器中的快速帮助
基于 JFace Text Framework 构建全功能代码编辑器: 第 7 部分:Quick Assistant

查看原图(大图)

可见,不管是从名字上,还是界面上,快速帮助都非常类似我提过的 Content Assistant(内容提示)功能。实际上,它们的架构和实现方式也差不多。

快速帮助是基于 Annotation(标注)的,我们已经在本系列第五部分中介绍了如何创建一个标注并显示出来。标注包含一个类型信息,比如错误或者警告或者只是提示。快速帮助的基本想法就是判断光标所在位置有没有标注,如果有则检查标注的类型,如果是你感兴趣的类型,比如错误,则触发快速帮助。

由于其和内容提示的相似性,我就不废话了,让我们直接看看如何实现快速帮助吧。

实现快速帮助

在目前的例子里,我已经把语法错误显示出来了。因为快速帮助可以针对标注类型来触发,所以我打算增加一种错误类型:Undelcared Variable(未声明的变量),比如在下面的例子中:

1 2 3 4 5  下一页

Tags:基于 JFace Text

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接