c# – 如何使用Visual Studio扩展创建绿色(或蓝色)波浪装饰

我有一个Visual Studio扩展,显示红色错误波形.我也想提供其他颜色的曲线,例如黄色警告.

创建红色波浪线可以通过扩展ITagger类来完成:

internal sealed class MySquigglesTagger : ITagger<IErrorTag> {
    public IEnumerable<ITagSpan<IErrorTag>> GetTags(normalizedSnapshotSpanCollection spans) {
        foreach (IMappingTagSpan<MyTokenTag> myTokenTag in this._aggregator.GetTags(spans))        
            SnapshotSpan tagSpan = myTokenTag.Span.GetSpans(this._sourceBuffer)[0];
            yield return new TagSpan<IErrorTag>(tagSpan,new ErrorTag("Error","some info about the error"));
        }
    }
}

我试过的:

>我的直觉(错误地)说返回带有不同errorType的ErrorTag可能会产生不同类型的标记,但无论你传递什么字符串,曲线都会保持红色.例如.新的ErrorTag(“警告”)给出了红色的波浪线. MSDN文档几乎不存在.见ErrorTag.
>在Tagging namespace中没有提到实现ITag的不同Tag类.我希望有一个WarningTag或InfoTag.
>在MSDN论坛here上问了一个问题.

问题:如何制作绿色(或蓝色或黄色)花边装饰品?可悲的是,即使是神秘或复杂的解决方案也值得赞赏……

我的目标是VS2015和VS2017.

编辑:在输入此问题时,有人在MSDN论坛上回复说无法使用当前的API完成.在Visual Studio中制作黄色波浪线真的不可能吗?!

解决方法

PredefinedErrorTypeNames包含ErrorTag的ErrorType属性支持的值.

您接近“警告”,但PredefinedErrorTypeNames.Warning的值似乎是“编译器警告”.

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么