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


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

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

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

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

    ПримечаниеПримечание

    Если выполнить команду Удалить неиспользуемые директивы 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, удаляются.

Заметки

Bb514115.collapse_all(ru-ru,VS.110).gifУсловные директивы препроцессора

Команда Удалить неиспользуемые директивы 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 не находится в активном блоке.

Bb514115.collapse_all(ru-ru,VS.110).gifКомментарии

Команда Удалить неиспользуемые директивы 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.Будут удалены только те комментарии, которые расположены между маркерами директивы.

См. также

Ссылки

"Параметры", "Текстовый редактор", C#, "Дополнительно"

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

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

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

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

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