我想根据我的VSPackage中的一些逻辑在编辑器上标记整行
因此,我导出了IClassifierProvider
和EditorFormatDefinition
,并通过在BackgroundColor
上设置ClassificationFormatDefinition
来成功标记相关行。
然而,问题是该线路并非完全"标记,只标记文本和空格。 当行的开头有标签时,标记是"间歇的"它们之间。此外,标记不会在行尾后跨越。
我更喜欢标记从编辑器窗口的左边缘开始,并延伸到编辑器窗口的右边缘,无论文本行有多长。
分类格式也许不是最好的解决方案。但是替代方案是什么? (首选一个简单的。我想我可以得到窗口句柄并自己绘制标记......)
答案 0 :(得分:2)
我将从“编辑文本装饰”项目模板开始。该项目突出显示了文档中的所有“a”。我想你可以很容易地从示例中GetMarkerGeometry
调用的结果中得到行的顶部和底部。然后你可以创建一个横跨文本视图整个宽度的元素(_view.ViewportWidth
)。
编辑:请注意,这是在Visual Studio 2012中。我不确定2010 SDK中是否存在项目模板。