Подтвердить что ты не робот

Visual Studio - удаление неиспользуемых файлов

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

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

4b9b3361

Ответ 1

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

http://visualstudiogallery.msdn.microsoft.com/fb7a9b9c-08e1-4bb4-91b4-8e512feb5a1b

Ответ 2

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

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

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

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


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

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

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

  • JSCoverage является инспектором покрытия кода для Javascript.
  • Для CSS есть онлайн-инструмент http://unused-css.com/ и расширение Firefox под названием DustMeSelectors

Ответ 3

Функции решения

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

Шаги

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

Результат

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

Примечание

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

Внимание

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

Ответ 4

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

Существует свободное расширение Code Maid, что "это расширение Visual Studio для Visual Studio, и упростите наши кодировки С#, С++, F #, VB, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript и TypeScript". Изображения также.

Ответ 5

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

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

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