【问题标题】:Remove unused Usings across entire assembly在整个程序集中删除未使用的 Using
【发布时间】:2010-02-25 17:04:22
【问题描述】:

我想知道 ReSharper 是否能够遍历每个类并删除未使用的使用?我看了看,但在 R# 4.5 中没有看到这样的选项。有没有人在 Resharper 中看到过这一点,除了能够删除单个类中的 usings 吗?

【问题讨论】:

    标签: resharper


    【解决方案1】:

    从 Resharper 9 开始,您可以在清理 using 块时选择“在解决方案中”范围。

    【讨论】:

    • 绝对是最简单的选择。
    • 您的评论对我的帮助超过了 JetBrains 的官方文档:D 谢谢!
    【解决方案2】:

    我相信跨项目的清理是 ReSharper 5 中的一项新功能。

    我收回这一点,该功能在 ReSharper 4.5 中。如果您右键单击解决方案,会有一个 Cleanup Code... 项,它允许您将清理配置文件应用于解决方案。如果您希望配置文件仅调整 using 指令,则可以从 ReSharper 选项中的代码清理节点创建新的清理配置文件。

    【讨论】:

      【解决方案3】:

      还有another way I found here,使用宏。

      第 1 步:在 Visual 中创建一个新宏 通过工具工作室 |宏 菜单。

      第 2 步:将以下代码粘贴到 模块并保存

      Public Module Module1
          Sub OrganizeSolution()
              Dim sol As Solution = DTE.Solution
              For i As Integer = 1 To sol.Projects.Count
                  OrganizeProject(sol.Projects.Item(i))
              Next
          End Sub
      
          Private Sub OrganizeProject(ByVal proj As Project)
              For i As Integer = 1 To proj.ProjectItems.Count
                  OrganizeProjectItem(proj.ProjectItems.Item(i))
              Next
          End Sub
      
          Private Sub OrganizeProjectItem(ByVal projectItem As ProjectItem)
              Dim fileIsOpen As Boolean = False
              If projectItem.Kind = Constants.vsProjectItemKindPhysicalFile Then
                  'If this is a c# file 
                  If projectItem.Name.LastIndexOf(".cs") = projectItem.Name.Length - 3 Then
                      'Set flag to true if file is already open 
                      fileIsOpen = projectItem.IsOpen
                      Dim window As Window = projectItem.Open(Constants.vsViewKindCode)
                      window.Activate()
                      projectItem.Document.DTE.ExecuteCommand("Edit.RemoveAndSort")
                      'Only close the file if it was not already open 
                      If Not fileIsOpen Then
                          window.Close(vsSaveChanges.vsSaveChangesYes)
                      End If
                  End If
              End If
              'Be sure to apply RemoveAndSort on all of the ProjectItems. 
              If Not projectItem.ProjectItems Is Nothing Then
                  For i As Integer = 1 To projectItem.ProjectItems.Count
                      OrganizeProjectItem(projectItem.ProjectItems.Item(i))
                  Next
              End If
              'Apply RemoveAndSort on a SubProject if it exists. 
              If Not projectItem.SubProject Is Nothing Then
                  OrganizeProject(projectItem.SubProject)
              End If
          End Sub
      End Module
      

      第 3 步:在任何解决方案上运行宏 你想要的,你就拥有了! 享受:)

      【讨论】:

        猜你喜欢
        • 2023-03-03
        • 1970-01-01
        • 2010-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多