tutorial - delegate definition c#



Rimuovi gli spazi dei nomi inutilizzati su un intero progetto o soluzione contemporaneamente (6)

Intendi usare le affermazioni? Prima di tutto, nota che in genere non fanno danno ad altri che prendono spazio. Strumenti come ReSharper offrono trucchi automatici per farlo, tuttavia: c'era un link nel feed VS poco fa; si riduce a:

  • vai su Strumenti -> Macro -> Macro IDE ...
  • in Project Explorer, Aggiungi -> Aggiungi modulo ... (inserisci un nome - Ho usato OrganiseUsings)
  • incollare con il codice qui sotto
  • File -> Salva MyMacros, esci

Ora, se fai clic con il pulsante destro sulla barra degli strumenti e su Personalizza ..., dovresti riuscire a trovare MyMacros.OrganiseUsings.RemoveAndSortAll - trascinalo da qualche parte a portata di mano (forse il menu Strumenti, potresti anche voler cambiare il nome dopo averlo posizionato).

È ora possibile utilizzare questa opzione per eseguire il comando Rimuovi e Ordina per un'intera soluzione. Un grande risparmio di tempo.

==== codice ====

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module OrganiseUsings

    Public Sub RemoveAndSortAll()
        On Error Resume Next
        Dim sol As Solution = DTE.Solution

        For i As Integer = 1 To sol.Projects.Count    
            Dim proj As Project = sol.Projects.Item(i)    
            For j As Integer = 1 To proj.ProjectItems.Count    
                RemoveAndSortSome(proj.ProjectItems.Item(j))    
            Next    
        Next    
    End Sub    

    Private Sub RemoveAndSortSome(ByVal projectItem As ProjectItem)
        On Error Resume Next
        If projectItem.Kind = Constants.vsProjectItemKindPhysicalFile Then    
            If projectItem.Name.LastIndexOf(".cs") = projectItem.Name.Length - 3 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    

        For i As Integer = 1 To projectItem.ProjectItems.Count    
            RemoveAndSortSome(projectItem.ProjectItems.Item(i))    
        Next
    End Sub   

End Module

So che puoi farlo file per file.

C'è comunque modo di farlo in un solo passaggio per tutti i file in un progetto?



Answer #2

Ecco un piccolo miglioramento sullo script sopra per VB.NET. Assicurati di avere gli Strumenti di alimentazione della produttività installati.

    Private Sub RemoveAndSortSome(ByVal projectItem As ProjectItem)
    On Error Resume Next
    If projectItem.Kind = Constants.vsProjectItemKindPhysicalFile Then
        If projectItem.Name.LastIndexOf(".cs") = projectItem.Name.Length - 3 Then
            Dim window As Window = projectItem.Open(Constants.vsViewKindCode)

            window.Activate()

            projectItem.Document.DTE.ExecuteCommand("Edit.RemoveAndSort")

            window.Close(vsSaveChanges.vsSaveChangesYes)

        ElseIf projectItem.Name.LastIndexOf(".vb") = projectItem.Name.Length - 3 Then
            Dim window As Window = projectItem.Open(Constants.vsViewKindCode)

            window.Activate()

            projectItem.Document.DTE.ExecuteCommand("EditorContextMenus.CodeWindow.OrganizeImports.RemoveandSortImports")

            window.Close(vsSaveChanges.vsSaveChangesYes)
        End If
    End I


Answer #4

Le altre risposte che fanno riferimento alle estensioni di Power Tools di Productivity non forniscono informazioni dettagliate su come eseguirlo, quindi ecco alcune istruzioni per Visual Studio 2013, 2015 e 2017:

Innanzitutto, apri la finestra di dialogo Strumenti> Estensioni e aggiornamenti ... in Visual Studio, seleziona Online nella barra a sinistra, quindi cerca nella galleria Visual Studio "Strumenti di produttività" . Installa l'estensione e riavvia VS.

In alternativa, puoi scaricare e installare manualmente le estensioni per la tua versione di Visual Studio:

Utensili elettrici di produttività 2013
Utensili elettrici di produttività 2015
Utensili elettrici di produttività 2017

Per VS2017, puoi anche scaricare l'estensione Power Commands separatamente dalle altre nel pacchetto Power Tools:

Comandi di alimentazione per Visual Studio (VS2017)

Essere consapevoli del fatto che al momento della scrittura, la versione VS2017 non funziona con .Net Core progetti / soluzioni.

Una volta installata l'estensione, fai clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni, quindi seleziona Comandi di alimentazione> Rimuovi e Ordina gli usi .

Questo può richiedere del tempo, in particolare su soluzioni di grandi dimensioni; inoltre non mantiene aperti i file modificati (quindi non annulla), quindi assicurati di salvare tutto il tuo VCS preferito prima di eseguirlo , in modo da poter annullare le modifiche apportate se qualcosa va storto!

Aggiornamento: formatta tutti i file

Recentemente ho utilizzato l'estensione Format All Files , che consente di eseguire Format Document , Remove and Sort Usings e un altro comando personalizzato di tua scelta (tutto facoltativamente, impostato nelle preferenze VS).

Sembra funzionare molto bene, ma ancora una volta, non annullare, quindi assicuratevi di impegnare tutto nel vostro VCS di scelta prima di eseguirlo .


Answer #5

per una versione più recente, incluso il 2017, prova l'estensione "Formatta tutti i file" . ha funzionato davvero bene per me.





namespaces