В Visual Studio 2013 количество ссылок на специальный код (метод, свойство, поле, ...) отображается с помощью Code Lens . Я хочу получить неиспользуемые (нулевые ссылки) коды в Visual Studio. Есть ли способ их получить?
Я имею в виду ссылку ниже:
c#
visual-studio-2013
codelens
Нима Ростами
источник
источник
public
не используется, не изучив всю базу кода. Однако для неиспользуемых внутренних и частных компонентов Code Analysis предупредит вас, если у вас включено соответствующее предупреждение.Ответы:
Вероятно, лучший и самый простой способ добиться того, что вам нужно, - это использовать встроенный инструмент анализа кода с Visual Studio, чтобы найти и направить вас прямо к мертвому коду и неиспользуемым членам.
Для этого я создал новый файл набора правил анализа кода (через File-> New-> File , убедившись, что на левой панели выбрано General и прокрутите вниз, чтобы найти набор правил анализа кода , присвоив ему имя файла, затем выполнив поиск и выбрав следующие правила). См. Ниже содержимое файла набора правил, который вы можете скопировать и вставить в новый файл с расширением .ruleset для использования.
Имея файл набора правил, можно щелкнуть правой кнопкой мыши файл проекта в панели « Обозреватель решений» и выбрать « Свойства» . В окнах свойств проекта щелкните вкладку Анализ кода на левой панели, а затем щелкните Открыть, чтобы перейти к расположению файла .ruleset. Если вы перейдете к свойствам файла решения (в отличие от файла проекта), вы можете установить файл анализа кода для каждого проекта в решении в одном месте (в разделе Параметры анализа кода и используя раскрывающийся список для выбора ПРИМЕЧАНИЕ: Вы должны были предварительно просмотреть файл набора правил, чтобы он отображался в раскрывающемся списке в этом окне свойств).
Затем вы просто запускаете анализ кода в проектах / решении (через Analyze-> Run Code Analysis On Solution -OR- Alt + F11 ), и он вернется в виде предупреждений, любых методов, на которые нет ссылок, или неиспользуемых элементов, которые он найдет. Он даже найдет методы, на которые ссылается метод, который сам не имеет ссылок в другом месте.
Однако будьте осторожны, поскольку один из способов, которым анализ кода мертвого кода может ввести вас в заблуждение, заключается в том, что ссылка «скрыта», вызывая метод только через делегаты и, конечно же, отражение.
В частности, правила обнаружения мертвого кода:
Ниже приведено содержимое файла .ruleset, который можно получить, выполнив описанные выше шаги, для вашего удобства. Вы можете просто скопировать приведенный ниже XML, вставить его в блокнот ++, сохранить где-нибудь с расширением .ruleset , найти и использовать, как описано выше:
источник
https://scottlilly.com/c-code-quality-improvement/remove-unused-classes-properties-and-functions/
«К сожалению, [в Visual Studio Analysis] вы можете обнаруживать только неиспользуемые частные члены. Это связано с тем, что анализатор кода предполагает, что открытые члены могут использоваться другими программами. Это может быть правдой, если вы публикуете их как API через веб-службу. или выпустить свой код как библиотеку ... ReSharper имеет аналогичные функции анализа кода - с преимуществом проверки на наличие неиспользуемых общедоступных членов ".
источник
Я просматривал каждый файл, выполнял команду Ctrl-MO, чтобы все свернуть, затем прокручивал в поисках ссылки 0.
источник
Вот ручной способ сделать это, который я использовал для поиска неиспользуемых классов, помеченных как общедоступные.
Примечание: если вы не следуете правилу «один класс на файл», это потребует гораздо больше работы. Кроме того, для любых конечных точек службы API вам необходимо будет убедиться, что они не используются какими-либо внешними проектами.
источник