基于 JFace Text Framework 构建全功能代码编辑器: 第 6 部分:Text Hover 和 Annotation Hover
2010-03-18 00:00:00 来源:WEB开发网核心提示: 主要的工作在 getHoverInfo 这个方法里面,我先调用了父类的 getHoverInfo,基于 JFace Text Framework 构建全功能代码编辑器: 第 6 部分:Text Hover 和 Annotation Hover(3),这一般来说是推荐的,因为父类的 getHove
主要的工作在 getHoverInfo 这个方法里面,我先调用了父类的 getHoverInfo,这一般来说是推荐的,因为父类的 getHoverInfo 会去首先查询相应位置处有没有一个标注,如果有,它会返回标注的信息。所以我在后面检查了父类的返回值,如果不是 null 且鼠标下面是一个变量名的话,就从解析器得到变量的值。
配置
最后一步是修改 ExprConfiguration,覆盖 getTextHover 方法, 只是简单的返回我定义的 ExprTextHover 即可。
清单3. 让 JTF 知道我们的 Text Hover 实现
public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) {
return new ExprTextHover(sourceViewer);
}
效果
运行后,看看是不是得到了我想要的效果:
图1. 文本悬浮效果图
如我希望的那样,鼠标移动到 a 上面时,显示出了“8”。如果源代码中有错误,那么效果如下所示:
图2. 当源代码有错误时
这正是由于我首先调用了父类的 getHoverInfo 的效果,父类为我们取出了标注信息。
更多精彩
赞助商链接