我正在开发一个Eclipse插件,它在Eclipse自己的AbstractTextEditor中显示自定义多行标记。
这是我到目前为止所做的:
这一切都运作良好,我的标记显示在编辑器中。但是我需要自定义它们在VerticalRuler上绘制的方式,因此它们不仅显示为图标,而且显示为跨越受影响源行的垂直线。
我知道,这可以通过实现IAnnotationPresentation并覆盖paint()来完成。
但我怎样才能为标记做到这一点?
编辑:这是我想要实现的截图:
答案 0 :(得分:1)
我通过提供一个RulerColumn(扩展点org.eclipse.ui.workbench.texteditor.rulerColumns
)并将markerAnnotationSpecification
配置为而不是包括verticalRulerPreferenceKey
和verticalRulerPreferenceValue
来解决这个问题(所以它将不会显示在默认的AnnotationRulerColumn上。
如果有人也找到了关于如何最好地实现IContributedRulerColumn
有点稀疏的文档:似乎要走的是子类AbstractContributedRulerColumn
并让方法委托给{{1}的子类}}
例如:
AbstractRulerColumn
自定义外观就像覆盖委托中的一个paint ...方法一样简单。