我有一个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的值似乎是“编译器警告”.