автоматическое форматирование всех файлов в решении в Visual Studio 2010 - PullRequest
13 голосов
/ 11 ноября 2010

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

Когда я повторяю любые ProjectItem в своих проектах, я не знаю, как открыть designable-файлы в режиме исходного кода или как различить исходные файлы и файлы icourceable (например, png * 1005). * или что-то подобное).

У вас есть предложения?

спасибо.

Ответы [ 2 ]

8 голосов
/ 12 ноября 2010

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

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

С рядом опций для того, что делает CleanUp

4 голосов
/ 28 февраля 2011

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