2010-02-25 12 views
44

Mi chiedo se ReSharper sia in grado di eseguire ogni classe e rimuovere gli utilizzi non utilizzati? Ho guardato ma non vedo un'opzione come questa in R # 4.5. Qualcuno ha visto questo in Resharper al di fuori di essere solo in grado di rimuovere gli usi in una singola classe?Rimuovere gli utilizzi non utilizzati sull'intero assieme

risposta

38

credo che la pulizia attraverso un progetto è una nuova funzionalità di ReSharper 5.

prendo che indietro, la funzionalità è in ReSharper 4.5. Se fai clic con il pulsante destro del mouse sulla soluzione, è disponibile un codice di pulizia ..., che consente di applicare un profilo di pulizia alla soluzione. È possibile creare un nuovo profilo di pulitura dal nodo Pulitura codice all'interno delle opzioni di ReSharper, se si desidera che un profilo modifichi semplicemente le direttive using.

4

C'è anche another way I found here, utilizzando Macro.

Passaggio 1: creazione di una nuova macro in Visual Studio tramite gli strumenti | Macro menu .

Fase 2: Incollare il codice qui sotto nella modulo e salvarlo

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 

Fase 3: Eseguire la macro su una soluzione che vuoi e il gioco è fatto! Divertiti :)

65

Da Resharper 9, è possibile selezionare l'ambito "in soluzione" solo quando si pulisce un blocco utilizzando.

enter image description here

+0

Sicuramente l'opzione più semplice. – Zapnologica

Problemi correlati