Quali sono alcuni macro che hai trovato utili in Visual Studio per la manipolazione e l'automazione del codice?Esistono macro consigliate per Microsoft Visual Studio?
risposta
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
@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
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.
Questo è uno che ho creato, che consente di cambiare facilmente l'obiettivo versione quadro di tutti i progetti in una soluzione: http://geekswithblogs.net/sdorman/archive/2008/07/18/visual-studio-2008-and-targetframeworkversion.aspx
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.
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
Non dovrebbe essere eliminato? –