Rimozione di direttive using non utilizzate

L'opzione Rimuovi using inutilizzate nell'interfaccia utente di Visual Studio consente di rimuovere direttive using, alias using e alias extern non utilizzate nel codice sorgente. Esistono due metodi per chiamare l'operazione:

  • Menu principale - Scegliere IntelliSense del menu Modifica, quindi Organizza using e infine fare clic su Rimuovi using inutilizzate.

  • Menu di scelta rapida - Fare clic con il pulsante destro del mouse in un punto qualsiasi nell'editor di codice, scegliere Organizza using, quindi fare clic su Rimuovi using inutilizzate.

    Nota

    Se si esegue Rimuovi using inutilizzate su codice sorgente che non viene compilato, è possibile rimuovere alcune direttive using obbligatorie.

Nell'esempio seguente viene illustrato il risultato dell'esecuzione di Rimuovi using inutilizzate sul codice sorgente.

Prima

Dopo

using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("test");
        }
    }
}
using System;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("test");
        }
    }
}

Nell'esempio precedente, soltanto System viene utilizzata in un secondo momento nel codice sorgente. Le altre direttive using, inclusa la direttiva using System duplicata, vengono rimosse.

Osservazioni

Direttive per il preprocessore condizionali

InRimuovi using inutilizzate vengono rimossi solo direttive e alias inutilizzati contenuti nel blocco attivo. Questo comportamento è illustrato nell'esempio seguente:

Prima

Dopo

#define DEBUG

#if DEBUG

using System;

using System.Collections.Generic;

using System.Linq;

#else

using System.Text;

#endif

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

List<int> myList = new List<int> { 1, 2, 3 };

Console.WriteLine(myList);

}

}

}

#define DEBUG

#if DEBUG

using System;

using System.Collections.Generic;

#else

using System.Text;

#endif

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

List<int> myList = new List<int> { 1, 2, 3 };

Console.WriteLine(myList);

}

}

}

Nell'esempio precedente, System.Text e System.Linq sono entrambe inutilizzate. Viene tuttavia rimossa solo System.Linq, perché System.Text non è nel blocco attivo.

Commenti

Con Rimuovi using inutilizzate viene rimosso un commento solo se si trova tra i token di una direttiva o di un alias che sarà rimosso. L'operazione non ha alcun effetto sui commenti visualizzati prima o dopo. Questo comportamento è illustrato nell'esempio seguente:

Prima

Dopo

using System;

/* Comment before remains */

using /* Comment between removed */ System.Linq;

// Comment after remains

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("My Example");

}

}

}

using System;

/* Comment before remains */

// Comment after remains

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("My Example");

}

}

}

Nell'esempio precedente, System.Linq viene rimossa. Solo i commenti tra i token della direttiva vengono rimossi.

Vedere anche

Riferimenti

Avanzate, C#, Editor di testo, finestra di dialogo Opzioni

Direttiva using (Riferimenti per C#)

extern alias (C# Reference)

Concetti

Organizzazione di istruzioni using

Ordinare direttive using