Я думаю, что следующее должно работать для вас, оно основано на итерации других файлов, которые я сделал в Visual Studio. Если вы хотите отформатировать другие типы документов, измените подпрограмму FormatFile для поддержки других расширений файлов.
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