2010-11-11 13 views
13

Estoy tratando de auto-formatear todos los archivos en mi solución en vs2010. He visto que no hay una opción incorporada para hacerlo. Intenté escribir macro para hacerlo, pero me quedé pegado.auto formatear todos los archivos en solución en visual studio 2010

Cuando itera cualquier ProjectItem en mis proyectos, no sé cómo abrir diseñables-archivos en modo de código fuente, o cómo distinguir entre los archivos y los archivos sourceable icourceable (como png -s o tal)

¿Tiene alguna sugerencia?

gracias.

+1

ver también http://stackoverflow.com/questions/3942958/visual-studio-macro-to-format-all-files-in-a-solution –

+0

ver también http://stackoverflow.com/ preguntas/931406/formatting-at-once-all-the-files-in-a-visual-studio-project –

Respuesta

8

Bueno en lugar de escribir un cheque macro a cabo una Code Maid (franco a visualstudiogallery) tiene estas 2 características:

  • de limpieza de una sola fila, todos los artículos seleccionados o toda la solución opción
  • de limpieza de la ejecución automática al guardar

Con una serie de opciones para la limpieza de lo que hace

4

Creo que el siguiente debe funcionar para usted que es basado en otro archivo de iteración que he hecho en Visual Studio. Si desea formatear otros tipos de documento, cambie la rutina FormatFile para que admita otras extensiones de archivo.

Sub IterateFiles() 
    Dim solution As Solution = DTE.Solution 
    For Each prj As Project In solution.Projects 
     IterateProjectFiles(prj.ProjectItems) 
    Next 
End Sub 

Private Sub IterateProjectFiles(ByVal prjItms As ProjectItems) 
    For Each file As ProjectItem In prjItms 
     If file.SubProject IsNot Nothing Then 
      FormatFile(file) 
      IterateProjectFiles(file.ProjectItems) 
     ElseIf file.ProjectItems IsNot Nothing AndAlso file.ProjectItems.Count > 0 Then 
      FormatFile(file) 
      IterateProjectFiles(file.ProjectItems) 
     Else 
      FormatFile(file) 
     End If 
    Next 
End Sub 

Private Sub FormatFile(ByVal file As ProjectItem) 
    DTE.ExecuteCommand("View.SolutionExplorer") 
    If file.Name.EndsWith(".cs") OrElse file.Name.EndsWith(".vb") Then 
     file.Open() 
     file.Document.Activate() 

     DTE.ExecuteCommand("Edit.FormatDocument", "") 

     file.Document.Save() 
     file.Document.Close() 
    End If 
End Sub 
+0

Thx, funcionó perfectamente para mí. El único cambio que tuve que hacer fue cambiar mi configuración para abrir controles/componentes en la vista de código en lugar de la vista de diseñador. –

Cuestiones relacionadas