Je me demande si peut-être ReSharper est capable de parcourir toutes les classes et de supprimer les utilisations inutilisées? J'ai regardé mais je ne vois pas une option comme celle-ci dans R # 4.5. Quelqu'un a-t-il vu cela dans Resharper en dehors du simple fait de pouvoir supprimer les utilisations dans une seule classe?
Je pense que le nettoyage d'un projet est une nouvelle fonctionnalité de ReSharper 5.
Je reprends cela, la fonctionnalité est dans ReSharper 4.5. Si vous faites un clic droit sur la solution, il y a un élément Code de nettoyage ..., qui vous permet d'appliquer un profil de nettoyage à la solution. Vous pouvez créer un nouveau profil de nettoyage à partir du nœud Code Cleanup dans les options ReSharper, si vous souhaitez qu'un profil ajuste simplement les directives using
.
Depuis Resharper 9, vous pouvez simplement sélectionner la portée "en solution" lorsque vous nettoyez un bloc à l'aide.
Il y a aussi ne autre façon que j'ai trouvée ici, en utilisant des macros.
Étape 1: créer une nouvelle macro dans Visual Studio via les outils | Menu des macros.
Étape 2: collez le code ci-dessous dans le module et enregistrez-le
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
Étape 3: exécutez la macro sur n'importe quelle solution que vous souhaitez et vous l'avez! Prendre plaisir :)