Visual studio удалить using

Обновлено: 07.07.2024

было интересно, есть ли расширение или макрос или что-то, что просматривает ваше решение и выдает отчет, на который файлы js/css/image не ссылаются нигде в коде?

У меня большой проект и со временем в нем скопилась пыль. Кроме ручного поиска использования каждого файла, есть ли другой способ экономии времени?

существует расширение Visual Studio, которое ищет файлы изображений без ссылок. Он находит все файлы изображений в вашем проекте, а затем сканирует все файлы aspx/cs/ashx/css/js для ссылок. Он еще не обновлен для Visual Studio 2012.

обновление вы не найдете инструмент, который может систематически идентифицировать неиспользуемые ресурсы, потому что JavaScript, CSS и файлы изображений могут быть загружены динамически. этой статья показывает, как динамически загружать JavaScript и CSS, и это простая задача в JavaScript для динамической загрузки изображения. Легко представить себе сценарий, в котором имя изображения загружается из внешнего источника данных или объединяется с другим значением поля plus".формат JPG." Очевидно, что любое инструмент, который пытался сканировать ваш источник, чтобы найти неферментированные файлы, пропустит эти ресурсы.

тем не менее, вы можете искать жестко закодированные ссылки.js,.css, and .jpg-файлы с помощью функции поиска по регулярному выражению Visual Studio или с помощью мощного текстового редактора Notepad++ с функцией поиска по регулярному выражению.

например, чтобы использовать Visual Studio для поиска всех файлов, заканчивающихся .js, на которые ссылаются на страницах ASCX ir ASPX, перейдите к Изменить/найти и заменить / найти в файлах, установите выражение поиска в .js> переключатель на "Используйте регулярные выражения"и установите" Look in these file types "в"*.aspx;*.ascx вносятся". ("\" экранирует "."и ">" означает конец слова, так что "фу.js " найден, но не "foo.jsx". Visual Studio имеет собственный синтаксис регулярных выражений, который документирован здесь)

кроме того, инструменты в моем исходном ответе ниже могут дать хорошую картину того, что JS / CSS / IMAGE ресурсы фактически используются при загрузке вашего сайта. При использовании в сочетании с инструментом тестирования, как селен, они должны позволить вам удалить ресурсы с уверенностью.

есть несколько инструментов, которые вы должны смотреть на:

  • WARI--инспектор ресурсов веб-приложений кажется, ближе подходят. Согласно их вебсайту:

WARI сканирует ваше веб-приложение и проверяет зависимости между функциями JavaScript, стилями CSS, HTML-тегами и изображениями.

цель состоит в том, чтобы найти неиспользуемые изображения, а также неиспользуемые и дублированные функции JavaScript и стили CSS.

Особенности Решения

  • полу - ручной
  • не является расширением
  • выглядит долго, но не сложно или сложно
  • работает только для изображений или все файлы
  • преодолевает все трюки ajax
  • должен работать с любым проектом или версией Visual Studio

шаги

  1. запустите веб-сайт в Chrome с включенной отладкой (нажмите F12 перед запуском сайта)
  2. полностью осуществлять веб-сайт. Сделайте это скачать все, что он будет когда-либо скачать.
  3. перейти к сеть tab.
  4. в сетке файлов нажмите на любое из изображений, которые появляются в списке (не имеет значения, какое из них). Это сделает все заголовки столбцов, но имя уйти.
  5. нажмите на кнопку имя заголовок столбца для сортировки по возрастанию.
  6. Do CTRL + A , CTRL + C скопировать все имена файлов.
  7. вставить в новую таблицу Google (в Google docs) в ячейку A2.
  8. повторите шаги 6 и 7, Если по какой-либо причине не скопировать все имена файлов. Прокрутить вниз.
  9. перейти в каталог изображений на сайте (или любой каталог, вы заинтересованы в сравнении) в командной строке и выдает dir /b . Скопируйте это в буфер обмена (функция знака) и вставить в ячейку B2.
  10. в ячейке C2 вставьте эту формулу =not(isna(VLOOKUP(B2,$A:$A$TheBottomOfA,1,false))) . Alter TheBottomOfA быть последней используемой строкой в столбце A.
  11. скопируйте формулу вниз для всех ваших значений в столбце B.
  12. в ячейке C1, тип Используется. В камере B1, тип имя. Добавьте фильтр данных для всех значений в Столбцах B и C. установите фильтр с помощью мыши в C1 показать только Используется = FALSE.

результат

что вы смотрите в колонке B список файлов, которые вы не используете.

Примечание

Я рекомендую переместить неиспользуемые файлы в автономную папку вместо их удаления.

предупреждение

вам все равно нужно использовать здравый смысл. BRAIN=ON

расширение в выбранном ответе выше работает только в vs2012, а Code Maid работает в vs2010-vs2014:

Если вы используете новую версию Visual Studio и не можете использовать расширения, я сделал следующее:

  1. исключить все целевые файлы.
  2. найти". " (это указывает на абсолютную ссылку на ресурс) и включить каждый найденный ресурс. Обратите внимание, что вы должны попробовать любые уникальные ключевые слова, относящиеся к вашим ссылкам.
  3. повторите шаг 2, пока Visual Studio не остановит открытие файлов (если новые совпадения не найдены, уже открытые документы внимание.)
  4. попробуйте строительный проект. Если вы пропустите ресурс, Visual Studio сообщит вам об этом. В этом случае, повторите шаги 2-4; это ничего не стоит, это редко необходимо.

Мне пришлось сделать это только один раз, и я потратил десять минут, самое большее.

Мне просто интересно, возможно ли в различных версиях Visual Studio автоматически удалять все ссылки из проекта, которые никогда не использовались?

В своем ответе укажите, к какой версии VS относится решение.

Вообще интересно, приводит ли удаление этих DLL к заметному улучшению времени сборки или что-то еще? (Конечно, кроме удаления избыточных зависимостей) Вы можете проголосовать за включение этой функции в состав VS (как и должно быть). @ monish001 - каждая сборка и актив увеличивает площадь развертывания и является еще одной возможностью управлять / поддерживать или быть потенциальным источником ошибок.

Если у вас установлен Resharper (плагин), вы можете получить доступ к функции, которая позволяет анализировать использованные ссылки через Solution Explorer> (щелчок правой кнопкой мыши) References> Optimize References .

Эта функция неправильно обрабатывает:

  • Зависимость вводимых сборок
  • Динамически загружаемые сборки (Assembly.LoadFile)
  • Собранные сборки кода, загруженные через взаимодействие
  • Элементы управления ActiveX (COM-взаимодействие)
  • Другие креативные способы загрузки сборок

введите описание изображения здесь

Хотя это жизнеспособный способ сделать это, «для меня в различных версиях Visual Studio» означает не что-то другое, а уже «внутри»

Расширение Resharper сделает это за вас.

Это расширение поддерживает Visual Studio 2005 по 2017 год.

Хотя компилятор не будет включать в себя неиспользуемые сборки, использование посторонних операторов и ссылок замедляет работу Visual Studio и Intellisense, поскольку существует больше кода, который необходимо учитывать инструментам.

что нашлось много неиспользованных ссылок в нашем проекте - но куча из них действительно используется . Так что я не доверяю Resharper со ссылками Resharper потребляет тонны памяти в больших проектах, когда есть много ссылок, которые в конечном итоге Редакции @eraj VS Express не поддерживают расширения, получите бесплатную версию Community, которая поддерживает такие расширения, как ReSharper. Пит, любой автоматизированный инструмент будет иметь возможность превышения. Особенно в эпоху зависимостей DI и PCL, которые, по-видимому, могут быть необоснованными, но вряд ли это вина инструмента. Вместо того, чтобы делать скриншот, вы должны использовать программное обеспечение для контроля версий. Современная система, такая как Git или Hg, позволит вам часто регистрироваться на месте, поэтому вы никогда не потеряете работу. насколько я могу судить, Resharper показывает неиспользуемые пространства имен, а не ссылки на сборки, что, как мне кажется, означает вопрос «неиспользуемые ссылки из проекта». Я бы тоже хотел найти последнее

Вы можете попробовать бесплатное расширение VS2010: Reference Assistant от группы Lardite. Это прекрасно работает для меня. Этот инструмент помогает найти неиспользуемые ссылки и позволяет выбрать, какие ссылки следует удалить.

Не работает с проектом MVC. Он удаляет необходимые DLL, как .Helpers и .WebPage

Если вы хотите узнать, какой проект (сборка) зависит от других сборок, вы можете использовать NDepend .

В VS 2008/2010 есть опция меню, вызываемая правой кнопкой мыши, для удаления или удаления и сортировки. @JohnB: Конечно, вы правы, но его вопрос касается ссылок (на сборки), а не использования (пространств имен). VS2012: меню: Проект-> Свойства-> Ссылки-> Неиспользуемые ссылки.

Для Visual Studio 2013/2015/2017 есть расширение, которое делает именно то, что вы хотите: ResolveUR . Что это в основном делает:

  • ссылка удалена в проекте
  • проект компилируется с помощью msbuild
  • проверить на ошибки сборки
  • восстановить удаленные ссылки, если были ошибки сборки.
только что установил его для VS 2017 Community Edt. - отлично работает до сих пор. он говорит, что есть ошибки сборки, но нет ошибки сборки, когда я собираюсь, поэтому он не работает vs2015 коммюнике 2.5 из 5 звезд на Visual Studio Marketplace из 52 обзоров немного меня оттолкнули Попробовал его на проекте MVC, и он предлагает удалить несколько жизненно важных зависимостей, таких как System.Web.Helpers, поэтому я не хочу отпускать его самостоятельно.

Все, что вам нужно, это камень и голая рулька, тогда вы можете делать это, как пещерный человек.

  1. Удалить неиспользуемые пространства имен (для каждого класса)
  2. Запустите Debug build
  3. Скопируйте исполняемый файл и оставшиеся ссылки на пространство имен на новое место
  4. Запустите исполняемый файл
  5. Ошибка DLL отсутствующей ссылки
  6. Скопируйте необходимую DLL из папки Debug
  7. Повторите 4-6
  8. Гу гу га га?
  9. Бросай свой камень

Вы также можете положиться на свои инструменты сборки, чтобы сообщить, какая ссылка все еще требуется. Это эра VS 2017 года, пещерный человек все еще выжил.

Ха-ха, ничего страшного с юмором здесь нет. Подход Stoneman, похоже, без затратной версии Enterprise, это то, что мы имеем прямо сейчас.

Для тех, кто приезжает сюда в поисках Visual Studio 2012 :

Позже вы можете сделать:

введите описание изображения здесь

Помощник по ссылкам для Visual Studio 11 кажется неточным, он показал мне кучу неиспользованных ссылок, которые я знал на самом деле (установлен через Nuget). Не работает с проектом MVC. Он удаляет необходимые DLL, как .Helpers и .WebPage

В Visual Studio версий 2017 и 2015 вы можете сделать это с помощью функции Code Code , но эта функция доступна только в версии Enterprise Edition , но не в версии Community или Professional .

Щелкните правой кнопкой мыши узел проекта в обозревателе решений и выберите «Показать на карте кода». Это отобразит ваш .dll в виде одного узла на пустом графике. Щелкните правой кнопкой мыши по этому узлу на карте кода и выберите «Показать сборки в этой ссылке». Это добавит дополнительный узел с именем «Внешние элементы», который можно развернуть, чтобы показать только те сборки, на которые действительно есть ссылки.

visual_studio_nuget_context_menu

Extensions and Updates

Итак, теперь у нас есть NuGet, но нам нужны NUnit (я буду использовать именно этот фреймворк вместо встроенного в Visual Studio) совместно с NSubstitute.

Создадим тестовый консольный проект и назовем его SampleProject, я установил галочку напротив Create directory for solution, чтобы папка с тестами для проекта была не вложенной в сам проект, а была на одном уровне.

sample_Project_create

Теперь создадим проект, содержащий юнит тесты для нашего проекта

create_unit_test_project

Прописываем имя проекта

path_to_save

Заметьте что в Location я поднялся на уровень выше, изначально мне рекомендовали создать проект юнит тестов внутри папки с проектом.

mstest

try_nunit

Открываем консоль NuGet

console

И набираем команду
Install-Package NUnit
а затем
Install-Package NSubstitute

ВАЖНО: не забудьте выбрать в качестве дефолтного проекта ваш проект с юнит тестами а не с программой. Иначе библиотеки установятся не в тот проект.

console_result

и видим, что компилятор теперь понимает наши атрибуты, старый using можно удалить (using Microsoft.VisualStudio.TestTools.UnitTesting)

new_using

Я надеюсь вы прочитали книгу The Art Of Unit testing или просто имеете понятие как работать в общих чертах с NUnit, т.к. глубоко базис я объяснять не планирую, немного не тот формат статьи.

Сюда буду добавлять горячие клавиши в Visual Studio, способы быстрого ввода и прочие фишки, позволяющие кодить более комфортно.

Начнем с самого простого, что бывает нужно начинающему программисту:
cw + 2 раза Tab = Console.WriteLine();

Далее материалы статьи с Хабра, где-то с моими дополнениями, но в основном в чистом виде:

Комментирование

Ctrl+K,C — закомментировать выбранные линии в коде.
Ctrl+K,U — раскомментировать выбранные линии в коде.

Если перед именем метода набрать /// — автоматически будут добавлены XML комментарии, которые потом можно использовать для создания документации. Туда можно вписать название метода, описание переменных и т.п. Далее при использовании данного метода будут всплывать подсказки как раз с этой информацией.

Поиск

Ctrl+F — открывается стандартное окно поиска, если в буфер недавно было скопирован текст, то он автоматически подставиться.
Ctrl+F3 — поиск «активного» текста вниз (который выделен или слово на котором стоит курсор), без копирования в буфер обмена.
Ctrl+Shift+F3 — поиск «активного» текста вверх.
Ctrl+I — и начинаете печатать текст, этакий runtime поиск.

Вызов базового джина

Вам лень писать текст полностью?! Скорость выпадающего Intellisence не устраивает несущуюся впереди вас вашу мысль?!
Тогда самое время применить следующии комбинации:
Ctrl+Space — вызов Intellisence с показом «слов»
Ctrl+J — если вы подзабыли название метода класса или его свойсто, то эта комбинация вам поможет. Можно применять и предыдущую, но эта более «умная».
Ctrl+K, X — показ всех сниппетов, которые у вас есть, в виде выпадающего списка, использование интуитивно понятно 🙂
короткое_имя_снипета+Tab — использовать сниппет в коде.

Навигация по коду

Если обратите внимание то студия, по своей природе MDI, значит должна быть возможность перемещаться, между окнами:
Ctrl+Tab — аналог Alt+Tab в Windows, только применимо к студии.

Очень удобным инструментом в студии являются закладки, да-да, по аналогии с книжными. Можно отметить код чтобы потом перейти к нему:
Ctrl+B, T — поставить/снять закладку.
Ctrl+B, Ctrl+C — удалить все закладки.
Ctrl+B, N — перейти к следующей закладке.
Ctrl+B, P — перейти к предыдущей закладке.

Форматирование и редактирование

Многие знают и используют Ctrl+C и Ctrl+V, но студия обладает ещё рядом удобным комбинаций:
Ctrl+Shift+V — не отпуская Ctrl+Shift и нажимая на V, вы сможете вставить один из 10 последних кусков текста, скопированных в буфер обмена.
Tab — увеличить отступ.
Shift+Tab — уменьшить отступ.

Мне иногда не хватало вертикального выделения текста, бывает полезно. Оказывается и такая возможность есть! Стоит нажать Alt, и не отпуская, выделять мышкой текст. Но есть минус — меню и стрелочки клавиатуры :). Это решаемо, нажимаете Shift+Alt и используете стрелочки Left или Right

Если код доставшийся вам «грязен», не только по структуре, но и по внешнему оформлению, используйте:
Ctrl+E+D — форматирование всего документа, позволяет привести документ в более удобоваримый вид.
Ctrl+E+F — форматирование выбранной части текста

Иногда в целях рефакторинга или ещё каких-то благих начинаниях, есть смысл перевести все буквы в верхний или нижний регистр:
Ctrl+Shift+U — перевести выделенный блок в верхний регистр
Ctrl+U — перевести выделенный блок в нижний регистр

Небольшой экскурс в сборку и отладку

Конечно же со стороны хоткеев 🙂
Начнём со «сборки»:
Ctrl+Shift+B или F6 — собрать solution.
Shift+F6 — собрать активный проект.
Если честно, тут я немного пошаманил, заточив под себя, иногда бывает удобно пересобрать проект RebuildSolution, но почему-то хоткей для этого не предусмотрен, я поступил следующий образом:
F6 — собрать solution
Ctrl+Shift+B — пересобрать solution
Поступил я так из-за соображения, что иногда студия не выполняет пересборку проекта, а пишет «up-to-date», а мне нужно именно пересобрать.

Если появились ошибки, это плохо, но никто от них не застрахован:
F5 — запустить программу, с возможностью отладки. Или продолжить выполнение программы, после точки останова.
Ctrl+F5 — запустить программу без отладки
F9 — поставить/убрать точку останова — breakpoint
Ctrl+Shift+F9 — удалить все точки останова.
F10 — выполнить код, без захода внутрь
F11 — выполнить код, с заходом внутрь

В режиме отладки есть два типа просмотра — Watch и QuickWatch.
Вызвать QuickWatch вы можете нажав Ctrl+D, Q. Просто Watch — Ctrl+D, W.

Читайте также: