2010-11-11 2 views
13

Я пытаюсь автоформатировать все файлы в своем решении в vs2010. Я видел, что нет встроенного варианта для этого. Я попытался написать макрос, чтобы сделать это, но я застрял.auto format все файлы в решении в visual studio 2010

Когда я итерация любой ProjectItem в моих проектах, я не знаю, как открыть DESIGNABLE-файлов в режиме исходного кода, или как отличить sourceable файлов и icourceable файлов (например, PNG -s или такие).

Есть ли у вас какие-либо предложения?

спасибо.

+1

смотри также http://stackoverflow.com/questions/3942958/visual-studio-macro-to-format-all-files-in-a-solution –

+0

смотри также http://stackoverflow.com/ вопросы/931406/форматирование в один раз-все-файлы-в-визуальной студии-проект –

ответ

8

Ну вместо того, чтобы писать проверку макросов из Code Maid (бесплатно на visualstudiogallery) имеет следующие 2 функции:

  • Очистка одного файла, все выбранные элементы или весь раствор вариант
  • Cleanup для автоматического запуска при сохранении

с несколько вариантов для того, что CleanUp делает

4

Я думаю, что должно работать для вас это на основе другого итерационного файла, который я сделал в 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 
+0

Thx, отлично работает для меня. Единственное изменение, которое я должен был сделать, это изменить мои настройки, чтобы открывать элементы управления/компоненты в представлении кода вместо представления дизайнера. –

Смежные вопросы