# ग

2009-07-21 15 views
5

का उपयोग कर एक कोड स्निपेट के अंदर एक नया GUID बनाना मैं सीटीएल K + सीटीएल एक्स है कि वास्तव में कोड निष्पादित करता है का उपयोग कर एक IntelliSense कोड स्निपेट बनाने के लिए जब यह चलाता है ... उदाहरण के लिए चाहते हैं, मैं निम्नलिखित करना चाहते हैं:# ग

<![CDATA[string.Format("{MM/dd/yyyy}", System.DateTime.Now);]]> 

लेकिन मुझे वह स्ट्रिंग मान देने के बजाय, मुझे निर्दिष्ट प्रारूप में दिनांक चाहिए।

मैं जो चाहता हूं उसका एक और उदाहरण एक नया गिट बनाने के लिए है, लेकिन पहले ऑक्टेट के लिए छंटनी है, इसलिए मैं System.Guid.NewGuid() का उपयोग करके एक नया ग्रिड बनाने का उपयोग करना चाहता हूं; उदाहरण के लिए मुझे {798400D6-7CEC-41f9-B6AA-116B926802FE} देने के लिए, लेकिन मुझे कोड स्निपेट से मूल्य: 798400D6 चाहिए।

मैं इंटेलिसेंस कोड स्निपेट का उपयोग न करने के लिए खुला हूं .. मैंने सोचा कि यह आसान होगा।

उत्तर

2

यह है कि मैं क्या एक वी.एस. मैक्रो

Public Sub InsertPartialGuid()    
     Dim objSel As TextSelection = DTE.ActiveDocument.Selection   
     Dim NewGUID As String = String.Format("{0}", (System.Guid.NewGuid().ToString().ToUpper().Split("-")(0))) 
     objSel.Insert(NewGUID, vsInsertFlags.vsInsertFlagsContainNewText) 
     objSel = Nothing 
    End Sub 
+1

क्या आप Visual Studio के नए संस्करण में ऐसा करने के किसी भी तरीके से जानते हैं जो मैक्रोज़ का समर्थन नहीं करता है? –

1

GUID के लिए, आप उपयोग कर सकते हैं:

string firstOctet = System.Guid.NewGuid().ToString().Split('-')[0]; 
0

प्राप्त करने के लिए आप अपनी XML ब्लॉक के साथ क्या करने की कोशिश कर रहे हैं, या तो आप इस तरह के IronPython के रूप में एक पटकथा भाषा इंजन एम्बेड करने के लिए की जरूरत करने जा रहे हैं, या अपना खुद का सरल इंजन लिखें। सी # स्रोत कोड रन-टाइम पर संकलित नहीं किया गया है, न ही रनटाइम पर स्रोत कोड का मूल्यांकन किया गया है। आईएल बाइटकोड है, लेकिन मानव-पठनीय स्रोत कोड नहीं है।

+0

दृश्य स्टूडियो में साथ बजाय किया है, वहाँ एक सी # टी -4 आप इस्तेमाल कर सकते हैं कहा जाता templating भाषा आधारित है। – Jimmy