代码之家  ›  专栏  ›  技术社区  ›  JacquesB

在Eclipse插件中悬停标记文本

  •  3
  • JacquesB  · 技术社区  · 14 年前

    我有一个带有问题标记的自定义编辑器。 标记在带有图标、位置和文本的“问题”视图中正确显示,问题图标在编辑器的左边距中正确显示。

    当鼠标悬停在页边空白处的问题标记图标上时,我希望在弹出窗口中显示相同的错误消息文本,就像在Java编辑器中一样。现在没有弹出窗口。

    有什么简单的方法可以做到这一点吗?


    回答:

    好吧,它看起来不像是标记系统内置的功能。它似乎已经提交了一个补丁,所以很可能会在以后的版本中添加,但在此之前,它也很容易手工创建。

    1. 创建一个实现 IAnnotationHover 并实施 getHoverInfo() .
    2. 把课还回来 getAnnotationHover() 中的方法 SourceViewerConfiguration .
    3. 获取悬停信息() 方法,调用 ISourceViewer.getAnnotationModel().getAnnotationIterator() 得到所有的标记。
    4. 选择与行号相对应的标记,并返回标记文本。
    2 回复  |  直到 10 年前
        1
  •  2
  •   pbanfi    14 年前

    This eclipse插件xtext中的bug提出了一个补丁,用于在悬停和状态行上显示标记工具提示。如果你看看附加的补丁,你可以找到你需要的答案。

        2
  •  11
  •   Dennis Hendriks    13 年前

    在扩展org.eclipse.jface.text.source.SourceViewerConfiguration的类中,只需包括以下内容:

    @Override
    public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
        return new DefaultAnnotationHover();
    }
    

    这包括文本编辑器边距中问题标记的悬停文本中一行的所有标记的文本。