Поделиться через


Удаление неиспользуемых директив Using

Обновлен: Ноябрь 2007

Параметр Удалить неиспользуемые директивы Usings в пользовательском интерфейсе Visual Studio позволяет удалить директивы using, псевдонимы using, а также неиспользуемые в исходном коде псевдонимы extern. Существует два способа вызова операции.

  • Главное меню: В меню Правка наведите на пункт IntelliSense, затем Организовать директивы и выберите пункт Удалить неиспользуемые директивы Usings.

  • Контекстное меню: В любой области редактора кода щелкните правой кнопкой мыши, наведите на пункт Организоватьдирективы и выберите Удалить неиспользуемые директивы Usings.

    Bb514115.alert_note(ru-ru,VS.90).gifПримечание.

    Если выполнить команду Удалить неиспользуемые директивы Usings в не построенном исходном коде, могут быть удалены некоторые нужные директивы using.

В приведенном далее примере показан результат выполнения команды Удалить неиспользуемые директивы Usings для исходного кода.

До

После

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

В предыдущем примере далее в исходном коде используется только System. Другие директивы using, в том числе копия директивы Using System, удаляются.

Заметки

Условные директивы препроцессора

Команда Удалить неиспользуемые директивы Usings удаляет только неиспользуемые директивы и псевдонимы, расположенные в активном блоке. Следующий пример демонстрирует это поведение.

До

После

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

}

}

}

В предыдущем примере System.Text и System.Linq не используются. При этом удаляется только System.Linq, так как System.Text не находится в активном блоке.

Примечания

Команда Удалить неиспользуемые директивы Usings удаляет примечание только в том случае, если оно расположено между маркерами удаляемой директивы или псевдонима. Комментарии до маркеров или после них не затрагиваются. Следующий пример демонстрирует это поведение.

До

После

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

}

}

}

В предыдущем примере удаляется System.Linq. Будут удалены только те комментарии, которые расположены между маркерами директивы.

См. также

Основные понятия

Оптимизация директив Using

Сортировать директивы

Ссылки

Страница “Дополнительно, папка “C#”, папка “Текстовый редактор”, диалоговое окно “Параметры”

Директива using (Справочник по C#)

Псевдоним extern (справочник по C#)