2008-08-18 15 views

Respuesta

0

Es posible que también desee agregar fragmentos de código, que ayudan a acelerar el tiempo de desarrollo y aumentar la productividad.

Los fragmentos de código VB estándar vienen con la instalación predeterminada. Los fragmentos de código C# se deben descargar y agregar por separado. (Enlace a continuación para aquellos)

En cuanto a las macros, generalmente no las he usado, pero el trabajo con Visual Studio 2005 tiene algunas muy buenas.

C# fragmentos de código Enlace: http://www.codinghorror.com/blog/files/ms-csharp-snippets.7z.zip (Jeff Atwood siempre y cuando el enlace) HIH

+0

@RZachary - Creo que los fragmentos de código son lo suficientemente independientes de las macros que seguí y les formulé una nueva pregunta. Se puede encontrar aquí. – rjzii

5

Ésta es una de las prácticas que uso en HTML y XML archivos:

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

es útil cuando tienes que hacer cualquier tipo de entrada de datos y quieres escapar de todo a la vez.

1

estoy usando Jean-Paul Boodhoo 's BDD macro. Reemplaza los espacios en blanco con guiones bajos dentro de la línea de encabezado de una firma de método. De esta forma puedo escribir los nombres de un caso de prueba, por ejemplo, como una oración normal, presionar un atajo de teclado y tengo una firma de método válida.

9

Esta es mi macro para cerrar la solución, eliminar el archivo intellisense y volver a abrir la solución. Esencial si estás trabajando en 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 nunca se usa – xan

+0

@xan: Se eliminó el ncbString para JR –

+0

El proyecto de plantilla de mi sitio web (es decir, NO una aplicación web) no contiene un archivo .ncb. :( – Chiramisu

Cuestiones relacionadas