【发布时间】:2010-02-25 17:04:22
【问题描述】:
我想知道 ReSharper 是否能够遍历每个类并删除未使用的使用?我看了看,但在 R# 4.5 中没有看到这样的选项。有没有人在 Resharper 中看到过这一点,除了能够删除单个类中的 usings 吗?
【问题讨论】:
标签: resharper
我想知道 ReSharper 是否能够遍历每个类并删除未使用的使用?我看了看,但在 R# 4.5 中没有看到这样的选项。有没有人在 Resharper 中看到过这一点,除了能够删除单个类中的 usings 吗?
【问题讨论】:
标签: resharper
从 Resharper 9 开始,您可以在清理 using 块时选择“在解决方案中”范围。
【讨论】:
我相信跨项目的清理是 ReSharper 5 中的一项新功能。
我收回这一点,该功能在 ReSharper 4.5 中。如果您右键单击解决方案,会有一个 Cleanup Code... 项,它允许您将清理配置文件应用于解决方案。如果您希望配置文件仅调整 using 指令,则可以从 ReSharper 选项中的代码清理节点创建新的清理配置文件。
【讨论】:
还有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 步:在任何解决方案上运行宏 你想要的,你就拥有了! 享受:)
【讨论】: