【问题标题】:Marking the entire line using Visual Studio Editor Extension Points使用 Visual Studio 编辑器扩展点标记整行
【发布时间】:2012-11-26 09:48:25
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: visual-studio-2010 mef vspackage


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 2012-07-11
      • 2012-06-30
      相关资源
      最近更新 更多