2010-11-11 13 views
13

Próbuję automatycznie sformatować wszystkie pliki w moim rozwiązaniu w vs2010. Widziałem, że nie ma wbudowanej opcji, aby to zrobić. Próbowałem napisać makro, żeby to zrobić, ale utknąłem.auto formatowanie wszystkich plików w rozwiązaniu w Visual Studio 2010

Kiedy iteracje żadnego ProjectItem w moich projektach, nie wiem jak otworzyć do zaprojektowania-plików w trybie kodu źródłowego, czyli jak odróżnić sourceable plików i plików icourceable (takich jak png -s lub takie).

Czy masz jakieś sugestie?

dzięki.

+1

zobaczyć również http://stackoverflow.com/questions/3942958/visual-studio-macro-to-format-all-files-in-a-solution –

+0

zobaczyć również http://stackoverflow.com/ pytania/931406/formatowanie-raz-wszystkie-pliki-w-wizualnym-studio-projekcie –

Odpowiedz

8

Więc zamiast pisać makro wyewidencjonować Code Maid (bezpłatnie na visualstudiogallery) ma te 2 funkcje:

  • Oczyszczanie pojedynczy plik, wszystkie wybrane elementy lub całe rozwiązanie opcja
  • Oczyszczanie automatyczne uruchamianie na zapisać

z wielu opcji co CleanUp dokłada

4

myślę następujące powinny pracować dla Ciebie to na podstawie innego pliku iterującego, który zrobiłem w Visual Studio. Jeśli chcesz sformatować inne typy dokumentów, zmień procedurę FormatFile, aby obsługiwała inne rozszerzenia plików.

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, działało idealnie dla mnie. Jedyną zmianą, którą musiałem zrobić, było zmienić moje ustawienia, aby otworzyć kontrolki/komponenty w widoku kodu zamiast widoku projektanta. –

Powiązane problemy