Skip to main content

Save All/Format All Documents in Visual Studio


Sub FormatAll()
 
 For Each proj As Project In DTE.Solution.Projects
  
  FormatFileRecur(proj.ProjectItems())
 
 Next

End Sub

Sub FormatFileRecur(ByVal projectItems As EnvDTE.ProjectItems)
 
 For Each pi As EnvDTE.ProjectItem In projectItems
  
  If pi.Collection Is projectItems Then
   
   Dim pi2 As EnvDTE.ProjectItems = pi.ProjectItems
   
   Try
    
    If pi.Name.EndsWith(".cs") Then
     
     If Not (pi.Name.EndsWith("Designer.cs")) Then
       
      If Not pi.IsOpen Then pi.Open(Constants.vsViewKindCode)
      
     pi.Document.Activate()
      
     DTE.ExecuteCommand("Edit.FormatDocument")
      
     If Not pi.Document.Saved Then pi.Document.Save()
      
     pi.Document.Close()
     
     End If
    
    End If
   
   Catch ex As Exception
    
    'Ignore this error - some project items cannot be opened.           
   
   End Try
   
   If pi2 IsNot Nothing Then
    
    FormatFileRecur(pi2)
   
   End If
  
  End If
 
 Next

End Sub

Comments

Popular posts from this blog