使用Visual Studio编辑器扩展点标记整行

时间:2012-11-26 09:48:26

标签: visual-studio-2010 mef vspackage

我想根据我的VSPackage中的一些逻辑在编辑器上标记整行 因此,我导出了IClassifierProviderEditorFormatDefinition,并通过在BackgroundColor上设置ClassificationFormatDefinition来成功标记相关行。

然而,问题是该线路并非完全"标记,只标记文本和空格。 当行的开头有标签时,标记是"间歇的"它们之间。此外,标记不会在行尾后跨越。

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

分类格式也许不是最好的解决方案。但是替代方案是什么? (首选一个简单的。我想我可以得到窗口句柄并自己绘制标记......)

1 个答案:

答案 0 :(得分:2)

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

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