宏运用-编排整个解决方案中的代码文件,去除及排序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

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

posted @ 2010-01-20 15:54  Mr.King  阅读(674)  评论(0编辑  收藏  举报