2008-08-18 22 views

risposta

0

Si consiglia di aggiungere anche frammenti di codice, che consentono di accelerare i tempi di sviluppo e aumentare la produttività.

Gli snippet di codice VB standard vengono forniti con l'installazione predefinita. Gli snippet di codice C# devono essere scaricati e aggiunti separatamente. (Link sotto per quelli)

Per quanto riguarda i macro, in genere non li ho usati ma il lavoro con il libro di Visual Studio 2005 ne ha alcuni piuttosto buoni.

C# Code Snippets Link: http://www.codinghorror.com/blog/files/ms-csharp-snippets.7z.zip (Jeff Atwood ha fornito il link) HIH

+0

@RZachary - Penso che i frammenti di codice siano abbastanza indipendenti dalle macro che sono andato avanti e ho creato una nuova domanda per loro. Può essere trovato qui. – rjzii

5

Questo è uno di quelli a portata di mano che uso su HTML e XML file:

''''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 

è utile quando devi fare qualsiasi tipo di inserimento dati e vuoi scappare tutto in una volta.

1

sto usando Jean-Paul Boodhoo s' BDD macro. Sostituisce i caratteri di spaziatura con caratteri di sottolineatura all'interno della riga di intestazione di una firma di metodo. In questo modo posso digitare i nomi di un caso di test, ad esempio, come una frase normale, colpire una scorciatoia da tastiera e ho una firma del metodo valida.

9

Questa è la mia macro per chiudere la soluzione, eliminare il file intellisense e riaprire la soluzione. Indispensabile se lavori in C++ nativo.

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

ncbString non viene mai utilizzato – xan

+0

@xan: rimosso ncbString per JR –

+0

Il mio progetto di modello di sito Web (ad esempio NOT un'app Web) non contiene un file .ncb. :( – Chiramisu