C# 如何在Visual Studio extension中实现默认的大纲工具提示?

C# 如何在Visual Studio extension中实现默认的大纲工具提示?,c#,visual-studio-2019,vsix,C#,Visual Studio 2019,Vsix,我从中复制了一些代码,使扩展与Visual Studio 2019兼容,以替换内置的大纲,因为它不会折叠catch&finally块中的花括号 现在,扩展工作正常,如下图所示 但只有一件事我不满意。当我将鼠标移动到折叠的部分时,它只显示纯文本工具提示,没有任何颜色或格式 我想让工具提示看起来像内置的。但我不知道从哪里开始 我对此做了一些研究。我可能需要更改此代码中的hoverText return new TagSpan<IOutliningRegionTag>(span, n

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

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

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

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

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

return new TagSpan<IOutliningRegionTag>(span, new OutliningRegionTag(false, false, GetCollapsedText(), hoverText));
返回新标记span(span,新大纲区域标记(false,false,GetCollapsedText(),hoverText));
我认为这可能涉及到
分类
ITooltipService
或其他方面

我是新手,有人能给我一些建议吗?一些演示代码或文档将非常有帮助。谢谢


代码在这里:

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

如果有人对这个问题感兴趣,我将试着解释一下它是如何工作的,给出一个大概的想法

  • 导入
    IProjectionBufferFactoryService
    以创建悬停
    TextBuffer
  • 导入
    ITextEditorFactoryService
    以创建
    IWPTextView
    以显示悬停内容
  • 将上述代码中的参数
    hoverText
    替换为
    IWpfTextView
返回新标记span(span,新大纲区域标记(false,false,GetCollapsedText(),hoverText));
差不多就是这样。我找到了解决办法

扩展非常有效,工具提示看起来与默认的一样

完整的代码将很快上载到

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