Compartir a través de


Quitar directivas y alias Using no utilizados

La opción Quitar cadenas no utilizadas, en la interfaz de usuario de Visual Studio, permite quitar las directivas using, los alias using y los alias extern que no se utilizan en el código fuente. Hay dos maneras de llamar a la operación:

  • Menú Principal - En el menú Editar, seleccione IntelliSense, seleccione Organizar usos y, a continuación, haga clic en Quitar cadenas no utilizadas.

  • Menú contextual - Haga clic con el botón secundario del mouse en cualquier parte dentro del editor de código, seleccione Organizar usos y, a continuación, haga clic en Quitar cadenas no utilizadas.

    Nota

    Si ejecuta Quitar cadenas no utilizadas sobre código fuente que no genera, puede que se quiten algunas directivas using necesarias.

El ejemplo siguiente muestra el resultado de ejecutar Quitar cadenas no utilizadas sobre código fuente.

Antes

Después

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

En el ejemplo anterior, sólo System se utiliza después en el código fuente. Las otras directivas using, incluida la directiva using de System duplicada, se quitan.

Comentarios

Directivas de preprocesador condicionales

Quitar cadenas no utilizadas sólo quita las directivas y los alias no utilizados que están en el bloque activo. En el siguiente ejemplo, se muestra este comportamiento:

Antes

Después

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

}

}

}

En el ejemplo anterior, System.Text y System.Linq no se utilizan. Sin embargo, sólo se quita System.Linq, ya que System.Text no está en el bloque activo.

Comentarios

Quitar cadenas no utilizadas sólo quita un comentario si el comentario está entre los tokens de una directiva o un alias que se quitará. Los comentarios que aparecen antes o después no resultan afectados. En el siguiente ejemplo, se muestra este comportamiento:

Antes

Después

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

}

}

}

En el ejemplo anterior, System.Linq se quita. Sólo se quitan los comentarios comprendidos entre los tokens de la directiva.

Vea también

Referencia

Avanzadas, C#, Editor de texto, Opciones (Cuadro de diálogo)

using (Directiva, Referencia de C#)

alias externo (Referencia de C#)

Conceptos

Organizar instrucciones Using

Ordenar usos