私は赤い誤差のはじきを示す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"));
}
}
}
私が試してみました何:
- 私の直感(間違って)言うことでErrorTagを返します異なるerrorTypeが異なるタイプのタグを生成するかもしれませんが、それを渡す文字列であれば、squigglesは赤のままです。例えば。新しいErrorTag( "Warning")は、赤い波打ちを与えます。 MSDNのドキュメントはほとんど存在しません。 ErrorTagを参照してください。
- Tagging namespaceには、ITagを実装する別のタグクラスの記述はありません。私は、WarningTagまたはInfoTagが存在することを望んだ。
- MSDNフォーラムhereで質問する
質問:緑色(または青色または黄色)の飾り飾りを作成するにはどうすればよいですか?悲しいことに、秘密で複雑なソリューションも高く評価されています...
私はVS2015とVS2017をターゲットにしています。
編集:この質問を入力している間、MSDNフォーラムの誰かが、現在のAPIで行うことはできないと答えました。 Visual Studioで黄色い塊を作るのは本当に不可能ですか?
'Tagging'名前空間には、とりわけ' ITag'を実装する 'TextMarkerTag'があります。 https://msdn.microsoft.com/en-us/library/dd885121.aspxをお読みになりましたか? –
@ C.Evenhuisはい、私はそれを読んで、ブレースマッチングとキーワードハイライトのために実装しましたが、私はsquigglesにTextMarkerTagを使用する方法を見ることができません。私はIErrorTagを実装する必要があると思います。 – HJLebbink
次に、VSがサポートしているものと思われるこれらの値の1つを「ErrorType」として試してみてください。https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.text.adornments.predefinederrortypenames .aspx –