宏运用-编排整个解决方案中的代码文件,去除及排序using

首先打开Marcos Explorer宏资源管理器 ( Tools工具 -> Marcors宏 -> Macro Explorer宏资源管理器 ), 然后在Marcos Explorer宏资源管理器中选中MyMacros -> Module1,双击打开Module1,添加上面的代码到Public Module Module1和End Module之间并保存,回到Marcos Explorer宏资源管理器,我们看到AutoFormatSolution己经在Module1了,右键Run就可以了。
这个宏的作用有三个:
1,编排整个文档的格式
2,移除未使用的using
3,对using排序

Dim solution As Solution = DTE.Solution





'格式化处理整个解决方案的代码文件

Sub AutoFormatSolution()

    For i As Integer = 1 To solution.Projects.Count

        AutoFormatProject(solution.Projects.Item(i))

    Next

End Sub







Private Sub AutoFormatProject(ByVal proj As Project)

    For i As Integer = 1 To proj.ProjectItems.Count

        AutoFormatProjectItem(proj.ProjectItems.Item(i))

    Next

End Sub





Private Sub AutoFormatProjectItem(ByVal projectItem As ProjectItem)

    If projectItem.Kind = Constants.vsProjectItemKindPhysicalFile Then

        If projectItem.Name.EndsWith(".cs") Then

            Dim window As Window = projectItem.Open(Constants.vsViewKindCode)

            window.Activate()





            projectItem.Document.DTE.ExecuteCommand("Edit.FormatDocument") '编排整个文档的格式

            projectItem.Document.DTE.ExecuteCommand("编辑.对using排序")

            projectItem.Document.DTE.ExecuteCommand("编辑.移除未使用的using")





            window.Close(vsSaveChanges.vsSaveChangesYes)

        End If

    End If



    If Not projectItem.ProjectItems Is Nothing Then

        For i As Integer = 1 To projectItem.ProjectItems.Count

            AutoFormatProjectItem(projectItem.ProjectItems.Item(i))

        Next

    End If

End Sub

原文引自:http://hi.baidu.com/luchaoshuai/blog/item/74615fce261a9932b700c804.html

在运行之前,最好将原项目备个份. 

你可能感兴趣的:(解决方案)