2017-04-11 17 views
7

के साथ हरे (या नीले) घुमावदार सजावट कैसे बनाएं मेरे पास एक दृश्य स्टूडियो एक्सटेंशन है जो लाल त्रुटि squiggles दिखाता है। मैं अन्य रंगों के साथ स्क्विगल्स भी प्रदान करना पसंद करता हूं, उदाहरण के लिए चेतावनियों के लिए पीला।विजुअल स्टूडियो एक्सटेंशन

लाल उतार बनाना 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")); 
     } 
    } 
} 

मैं क्या कोशिश की है:

  1. मेरे अंतर्ज्ञान (गलत) का कहना है कि एक साथ एक ErrorTag लौटने अलग-अलग त्रुटि टाइप एक अलग प्रकार का टैग उत्पन्न कर सकता है, लेकिन जो भी स्ट्रिंग आप इसे पास करते हैं, स्क्विगल्स लाल रहते हैं। उदाहरण के लिए। नया त्रुटिटैग ("चेतावनी") लाल squiggles देता है। एमएसडीएन दस्तावेज लगभग nonexistent है। ErrorTag देखें।
  2. Tagging namespace में आईटीएजी को लागू करने वाले एक अलग टैग क्लास का कोई उल्लेख नहीं है। मुझे उम्मीद थी कि एक चेतावनी टैग या इन्फोटाग मौजूद था।
  3. एमएसडीएन मंच here पर एक प्रश्न पूछा।

प्रश्न: कैसे हरा (या नीला या पीला) विद्रूप श्रंगार बनाने के लिए? अफसोस की बात है, यहां तक ​​कि आर्केन या घुलनशील समाधानों की भी सराहना की जाती है ...

मैं वीएस2015 और वीएस2017 को लक्षित कर रहा हूं।

संपादित करें: इस प्रश्न को टाइप करते समय किसी को एमएसडीएन फोरम में जवाब दिया गया कि यह वर्तमान एपीआई के साथ नहीं किया जा सकता है। क्या विजुअल स्टूडियो में पीले रंग की चक्की बनाना वाकई असंभव है ?!

+0

'टैगिंग' नेमस्पेस में' TextMarkerTag' भी है, जो दूसरों के बीच 'आईटीएजी' लागू करता है। क्या आपने https://msdn.microsoft.com/en-us/library/dd885121.aspx पढ़ा था? –

+0

@ सीवेनहुइस हां, मैंने इसे पढ़ लिया है और इसे ब्रेस मिलान और कीवर्ड हाइलाइटिंग के लिए कार्यान्वित किया है, लेकिन मैं नहीं देख सकता कि स्क्विगल्स के लिए TextMarkerTag का उपयोग कैसे करें। मुझे लगता है कि मुझे आईररटैग को लागू करने की आवश्यकता है। – HJLebbink

+0

फिर आप 'ValueType' के लिए इन मानों में से किसी एक को आजमा सकते हैं, ऐसा लगता है कि वीएस क्या समर्थन करता है: https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.text.adornments.predefinederrortypenames .aspx –

उत्तर

3

PredefinedErrorTypeNames की ErrorType संपत्ति के लिए समर्थित मान शामिल हैं।

आप "चेतावनी" के साथ निकट हो गए हैं, लेकिन PredefinedErrorTypeNames.Warning का मान "कंपाइलर चेतावनी" प्रतीत होता है।

+2

यदि यह उस जगह पर एक लिंक जोड़कर (एमएस द्वारा) दस्तावेज किया गया था, तो मुझे कई दिनों बर्बाद नहीं होता। मैं किसी को एमएस में इसे ठीक करने के लिए कहूंगा। – HJLebbink

संबंधित मुद्दे