Я знаю, как найти неиспользуемые ссылки на один файл, щелкнув файл правой кнопкой мыши и выбрав параметр «Найти использование». Есть ли способ увидеть или получить список всех неиспользуемых классов или файлов в моем проекте?
Сначала включите «Анализировать ошибки в решении» (щелкните правой кнопкой мыши значок Resharper в строке состояния).
Затем щелкните правой кнопкой мыши узел решения и выберите «Найти проблемы с кодом». В окне инструмента «Результаты проверки» вы можете сгруппировать по «Типу проблемы» и найти «Тип или член типа никогда не используется», чтобы получить все неиспользуемые классы (и многие другие неиспользуемые символы).
Второй вариант (после включения «Анализировать ошибки в решении») - перейти к любому неиспользуемому классу, нажать Alt + Enter, выбрать «Параметры для 'Тип или тип члена ...' проверки» | Найдите все проблемы с кодом этого типа | Полное решение.
Неиспользуемые классы / методы появляются в разделе «Тип или член типа никогда не используется» в разделе «Избыточность в объявлениях символов». Не уверен, что это связано с изменением версии, или я смотрю на это по-другому.
яростный
4
Это не вернуло неиспользуемых классов ни в одной категории с использованием Resharper 7.1 в VS2013 в Windows 8 или VS2012 в Windows 7.
Сэм Джонс,
1
По крайней мере, в ReSharper 8 вам не нужно включать «Анализировать ошибки в решении», чтобы получить результаты.
Питер ван Гинкель
3
Resharper 10: в этом отчете не отображаются неиспользуемые классы.
Обходной
1
Все еще не работает в Resharper 2018.1 :( Следуйте приведенному выше обходному пути, но если не можете легко найти неиспользуемый класс (или метод), временно создайте его, а затем выполните «Найти похожие проблемы в решении», используя его
Рэй
17
Решение от @ulrichc звучит идеально и отлично работает для небольших и средних проектов, в которых вы не используете какую-либо структуру внедрения зависимостей, такую как Castle или Ninject, но что, если вы используете контейнер DI [например Castle] и у вас есть что-то вроде следующего:
Как вы можете видеть, RegisterFromAssembly проходит через все типы внутри сборки и вслепую [на основе параметра методов] добавляет их в контейнер во время выполнения.
Вам понадобится что-то вроде плагина Agent Mulder, который обеспечивает навигацию по типам, зарегистрированным или разрешенным внутри ваших контейнеров. Это снова может визуально [возможно, время разработки] работать, но вы не будете в этом уверены, если каждый раз, когда вы удаляете неиспользуемый класс, вы запускаете все тесты внутри вашего приложения [каждый возможный уровень], чтобы быть уверенным на 80% в вашей безопасности. Мораль истории: класс может показаться не использованным для Resharper, но он может быть воскрешен при использовании внедрения зависимостей.
Ответы:
Сначала включите «Анализировать ошибки в решении» (щелкните правой кнопкой мыши значок Resharper в строке состояния).
Затем щелкните правой кнопкой мыши узел решения и выберите «Найти проблемы с кодом». В окне инструмента «Результаты проверки» вы можете сгруппировать по «Типу проблемы» и найти «Тип или член типа никогда не используется», чтобы получить все неиспользуемые классы (и многие другие неиспользуемые символы).
Второй вариант (после включения «Анализировать ошибки в решении») - перейти к любому неиспользуемому классу, нажать Alt + Enter, выбрать «Параметры для 'Тип или тип члена ...' проверки» | Найдите все проблемы с кодом этого типа | Полное решение.
источник
Решение от @ulrichc звучит идеально и отлично работает для небольших и средних проектов, в которых вы не используете какую-либо структуру внедрения зависимостей, такую как Castle или Ninject, но что, если вы используете контейнер DI [например Castle] и у вас есть что-то вроде следующего:
Как вы можете видеть, RegisterFromAssembly проходит через все типы внутри сборки и вслепую [на основе параметра методов] добавляет их в контейнер во время выполнения.
Вам понадобится что-то вроде плагина Agent Mulder, который обеспечивает навигацию по типам, зарегистрированным или разрешенным внутри ваших контейнеров. Это снова может визуально [возможно, время разработки] работать, но вы не будете в этом уверены, если каждый раз, когда вы удаляете неиспользуемый класс, вы запускаете все тесты внутри вашего приложения [каждый возможный уровень], чтобы быть уверенным на 80% в вашей безопасности. Мораль истории: класс может показаться не использованным для Resharper, но он может быть воскрешен при использовании внедрения зависимостей.
источник