【问题标题】:How to implement the default outlining tool tip in Visual Studio extension?如何在 Visual Studio 扩展中实现默认大纲工具提示?
【发布时间】:2020-09-25 09:37:58
【问题描述】:

我从 here 复制了一些代码,以使扩展与 Visual Studio 2019 兼容,以替换内置大纲,因为它不会折叠 catch 和 finally 块中的花括号。

现在扩展工作正常,如下图所示。

但我不满意的只有一件事。当我将鼠标移动到折叠部分时,它只显示纯文本工具提示,没有任何颜色或格式。

我想让工具提示看起来像内置的。但我不知道从哪里开始。

我对此进行了一些研究。我可能需要更改此代码中的hoverText

return new TagSpan<IOutliningRegionTag>(span, new OutliningRegionTag(false, false, GetCollapsedText(), hoverText));

我认为它可能涉及ClassificationITooltipService 或其他东西。

我是新手,谁能给我一些建议?一些演示代码或文档会很有帮助。谢谢。

代码在这里:CSharpOutline2019

【问题讨论】:

    标签: c# visual-studio-2019 vsix


    【解决方案1】:

    经过一夜的研究,我终于找到了解决方案并实现了我的目标。

    如果有人对这个问题感兴趣,我会尝试解释它是如何工作的,给出一个大致的想法。

    • 导入IProjectionBufferFactoryService 以创建悬停TextBuffer
    • 导入ITextEditorFactoryService 以创建IWpfTextView 以显示悬停内容
    • 将我上面提到的代码中的hoverText参数替换为IWpfTextView
    return new TagSpan<IOutliningRegionTag>(span, new OutliningRegionTag(false, false, GetCollapsedText(), hoverText));
    

    差不多就是这样。我找到了解决方案here

    这个扩展很好用,工具提示看起来和默认的一样。

    完整的代码将很快上传到CSharpOutline2019

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-16
      • 1970-01-01
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多