Compartilhar via


Remover usos não utilizados

The Remover usos não utilizados opção na interface do usuário do Visual Studio remove using diretivas, using aliases, e extern aliases que não são usados no código-fonte. Há duas maneiras para chamar a operação:

  • Menu principal - on a edição , aponte para IntelliSense, point to Organizar usose, em seguida, clicar Remover usos não utilizados.

  • Context Menu - Right-click anywhere inside the code editor, point to OrganizeUsings, and then click Remove Unused Usings.

    Observação:

    Se você executar Remover usos não utilizados no código-fonte que não compila, alguns necessários using as diretivas podem ser removidas.

O exemplo a seguir mostra o resultado da execução de Remover usos não utilizados no código-fonte.

Antes de

Depois de

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");
        }
    }
}

No exemplo anterior, apenas System é usado posteriormente em código-fonte. Outros using diretivas, incluindo a duplicata System diretiva de uso, são removidos.

Comentários

Diretivas Pre-processador condicionais

Remover usos não utilizados remove apenas diretivas não utilizadas e aliases de bloco de ativo.O exemplo a seguir ilustra esse comportamento:

Antes de

Depois de

#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);

}

}

}

No exemplo anterior, ambos os System.Text e System.Linq não são usados. No entanto, apenas System.Linq será removida porque System.Text não está no bloco de ativo.

Comentários

Remover usos não utilizados remove um comentário somente se o comentário é entre os tokens de uma diretiva ou alias que será removido.Comentários que aparecem antes ou depois não são afetados.O exemplo a seguir ilustra esse comportamento:

Antes de

Depois de

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");

}

}

}

No exemplo anterior, System.Linq é removido. Somente os comentários entre símbolos da diretiva serão removidos.

Consulte também

Conceitos

Organizando Expressões Using

Classificar usos

Referência

Avançado, C#, editor de texto, caixa de diálogo de opções

usando diretiva (Referência C#)

alias externo (Referência C#)