项目范围内的“删除和排序Using”

3

有人写过一个宏,可以在整个项目中删除并排序你的使用语句吗?我希望能够在没有任何第三方插件(如ReSharper)的情况下实现这一点。


1个回答

3
如果您考虑使用 Microsoft 的插件,您会发现 Power Commands 实用程序可以为项目或解决方案执行此操作。
更新:我知道我有一些类似于此的代码,我找到了它并在这里呈现:
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module FormatDocuments

    Public Sub FormatSolution()

        Dim sol As Solution = DTE.Solution

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

            FormatProject(sol.Projects.Item(i))

        Next


    End Sub

    Private Sub FormatProject(ByVal proj As Project)
        For i As Integer = 1 To proj.ProjectItems.Count

            FormatProjectItem(proj.ProjectItems.Item(i))

        Next


    End Sub

    Private Sub FormatProjectItem(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.RemoveAndSort")

                window.Close(vsSaveChanges.vsSaveChangesYes)

            End If
        End If

        If projectItem.ProjectItems.Count > 0 Then
            For Each subProjectItem As ProjectItem In projectItem.ProjectItems
                FormatProjectItem(subProjectItem)
            Next
        End If
    End Sub


End Module

我对ReSharper或其他插件(我现在忘了名字)的问题是,根据我的经验,IDE会明显变慢。你有没有注意到PowerCommands也会这样做? - user60456
个人使用ReSharper并承受性能下降!我不会期望PowerCommands使IDE变慢,因为它没有像R#那样在后台执行相同类型的工作。 - stuartd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接