2008-08-18 24 views
7

कोड मैनिप्ल्यूशन और स्वचालन के लिए विजुअल स्टूडियो में उपयोगी कुछ मैक्रोज़ क्या हैं?क्या आपके पास माइक्रोसॉफ्ट विजुअल स्टूडियो के लिए कोई अनुशंसित मैक्रोज़ है?

+0

इसे हटाया नहीं जाना चाहिए? –

उत्तर

0

आप कोड स्निपेट में भी जोड़ना चाहते हैं, वे विकास के समय को तेज करने और उत्पादकता में वृद्धि करने में मदद करते हैं।

मानक वीबी कोड स्निपेट डिफ़ॉल्ट स्थापना के साथ आते हैं। सी # कोड स्निपेट को डाउनलोड और अलग से जोड़ा जाना चाहिए। (उन लोगों के लिए नीचे लिंक)

जहां तक ​​मैक्रोज़ जाते हैं, मैंने आमतौर पर किसी भी का उपयोग नहीं किया है, लेकिन विजुअल स्टूडियो 2005 पुस्तक के साथ काम करने में कुछ अच्छे अच्छे हैं।

सी # कोड के टुकड़े लिंक: http://www.codinghorror.com/blog/files/ms-csharp-snippets.7z.zip (जेफ Atwood दिए गए लिंक) HIH

+0

@RZachary - मुझे लगता है कि कोड स्निपेट मैक्रोज़ के पर्याप्त स्वतंत्र हैं जो मैंने आगे बढ़े और उनके लिए एक नया प्रश्न बनाया। इसे यहां पर देख जा सकता है। – rjzii

5

यह आसान लोगों को मैं HTML और XML फाइलों पर उपयोग में से एक है:

''''replaceunicodechars.vb 
Option Strict Off 
Option Explicit Off 
Imports EnvDTE 
Imports System.Diagnostics 

Public Module ReplaceUnicodeChars 

    Sub ReplaceUnicodeChars() 
     DTE.ExecuteCommand("Edit.Find") 
     ReplaceAllChar(ChrW(8230), "…") ' ellipses 
     ReplaceAllChar(ChrW(8220), "“") ' left double quote 
     ReplaceAllChar(ChrW(8221), "”") ' right double quote 
     ReplaceAllChar(ChrW(8216), "‘") ' left single quote 
     ReplaceAllChar(ChrW(8217), "’") ' right single quote 
     ReplaceAllChar(ChrW(8211), "–") ' en dash 
     ReplaceAllChar(ChrW(8212), "—") ' em dash 
     ReplaceAllChar(ChrW(176), "°") ' ° 
     ReplaceAllChar(ChrW(188), "¼") ' ¼ 
     ReplaceAllChar(ChrW(189), "½") ' ½ 
     ReplaceAllChar(ChrW(169), "©") ' © 
     ReplaceAllChar(ChrW(174), "®") ' ® 
     ReplaceAllChar(ChrW(8224), "†") ' dagger 
     ReplaceAllChar(ChrW(8225), "‡") ' double-dagger 
     ReplaceAllChar(ChrW(185), "¹") ' ¹ 
     ReplaceAllChar(ChrW(178), "²") ' ² 
     ReplaceAllChar(ChrW(179), "³") ' ³ 
     ReplaceAllChar(ChrW(153), "™") ' ™ 
     ''ReplaceAllChar(ChrW(0), "�") 

     DTE.Windows.Item(Constants.vsWindowKindFindReplace).Close() 
    End Sub 

    Sub ReplaceAllChar(ByVal findWhat, ByVal replaceWith) 
     DTE.Find.FindWhat = findWhat 
     DTE.Find.ReplaceWith = replaceWith 
     DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument 
     DTE.Find.MatchCase = False 
     DTE.Find.MatchWholeWord = False 
     DTE.Find.MatchInHiddenText = True 
     DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxLiteral 
     DTE.Find.ResultsLocation = vsFindResultsLocation.vsFindResultsNone 
     DTE.Find.Action = vsFindAction.vsFindActionReplaceAll 
     DTE.Find.Execute() 
    End Sub 

End Module 

यह उपयोगी है जब है आपको किसी भी प्रकार की डेटा एंट्री करना है और एक बार में सब कुछ बचाना है।

1

मैं उपयोग कर रहा हूँ Jean-Paul Boodhoo के BDD macro। यह एक विधि हस्ताक्षर की शीर्षलेख रेखा के भीतर अंडरस्कोर के साथ व्हाइटस्पेस वर्णों को प्रतिस्थापित करता है। इस तरह से मैं एक परीक्षण मामले के नाम टाइप कर सकता हूं, उदाहरण के लिए, एक सामान्य वाक्य के रूप में, एक कीबोर्ड शॉर्टकट दबाएं और मेरे पास वैध विधि हस्ताक्षर है।

9

यह मेरा मैक्रो समाधान को बंद करने, इंटेलिजेंस फ़ाइल को हटाने और समाधान को फिर से खोलने के लिए है। यदि आप देशी सी ++ में काम कर रहे हैं तो आवश्यक।

Sub UpdateIntellisense() 
    Dim solution As Solution = DTE.Solution 
    Dim filename As String = solution.FullName 
    Dim ncbFile As System.Text.StringBuilder = New System.Text.StringBuilder 
    ncbFile.Append(System.IO.Path.GetDirectoryName(filename) + "\") 
    ncbFile.Append(System.IO.Path.GetFileNameWithoutExtension(filename)) 
    ncbFile.Append(".ncb") 
    solution.Close(True) 
    System.IO.File.Delete(ncbFile.ToString()) 
    solution.Open(filename) 
End Sub 
+1

एनसीबीस्ट्रिंग का उपयोग कभी भी नहीं किया जाता है – xan

+0

@xan: जेआर –

+0

के लिए एनसीबीस्ट्रिंग को हटाया गया मेरी वेबसाइट टेम्पलेटेड प्रोजेक्ट (यानी एक वेब ऐप नहीं) में एक .ncb फ़ाइल नहीं है। :( – Chiramisu