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