1

我想根据我的 VSPackage 中的一些逻辑在编辑器上标记一整行。
所以我导出IClassifierProviderEditorFormatDefinition通过设置成功标记了相关BackgroundColorClassificationFormatDefinition

但是,问题在于该行没有“完全”标记,仅标记了文本和空格。当行首有制表符时,它们之间的标记是“间歇的”。此外,该标记不跨越行尾。

我希望标记从编辑器窗口的左边缘开始并延伸到编辑器窗口的右边缘,无论文本行有多长。

也许分类格式在这里不是最好的解决方案。但是有什么选择呢?
(更喜欢一个简单的。我想我可以得到窗口句柄并自己绘制标记......)

4

1 回答 1

2

我将从“编辑器文本装饰”项目模板开始。该项目突出显示文档中的所有“a”。我想您可以很容易地从GetMarkerGeometry示例中的调用结果中获取行的顶部和底部。然后,您可以制作一个跨越文本视图 ( ) 整个宽度的元素_view.ViewportWidth

编辑:请注意,这是在 Visual Studio 2012 中。我不确定项目模板是否存在于 2010 SDK 中。

于 2013-01-31T16:35:17.057 回答