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



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

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

我希望标记从编辑器窗口的

左边缘开始,一直延伸到编辑器窗口的右边缘,无论文本行有多长。

也许分类格式不是这里的最佳解决方案。但是还有什么选择呢?
(首选简单的。我想我可以拿到窗口把手并自己画标记......

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

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

最新更新