Получить список нулевых ссылочных кодов в Visual Studio


в visual studio 2013 количество ссылок на специальный код (метод, свойство, поле,...) показывает Объектив Код. Я хочу получить неиспользованный (нулевая ссылка) коды в visual studio. Есть ли способ получить их?

Я имею в виду ниже ссылка:

1 74

1 ответ:

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

для этого я просто создал новый файл набора правил анализа кода (через File - > New - >File, убедившись, что общие в левой панели и прокрутки вниз, чтобы найти Набор Правил Анализа Кода, давая ему имя файла, а затем поиск и выбор следующих правил). См. ниже содержимое файла набора правил, который вы можете просто скопировать и вставить в новый файл с расширением .набор правил для использования.

учитывая файл набора правил, можно щелкнуть правой кнопкой мыши на файле проекта в Обозреватель панели и выберите свойства. В окне свойств проекта нажмите на кнопку Анализ Кода в левой панели, а затем нажмите кнопку открыть для просмотра .файл набора правил местоположение. Если вы перейдете к свойствам файла решения (в отличие от файла проекта), вы можете установить файл анализа кода для каждого проекта в решении в одном месте (под Настройки Анализа Кода, и с помощью раскрывающегося списка там, чтобы выбрать файл набора правил. Примечание: Вы должны были ранее просмотреть файл набора правил для его отображения в раскрывающемся списке в этом окне свойств, однако).

затем вы просто запускаете анализ кода в проектах / решении (через Analyze - >Выполнить Анализ Кода На Решение или Alt+F11) и он вернется как предупреждения, любые неиспользуемые методы или неиспользуемые члены, которые он находит. Он даже найдет методы, на которые ссылается метод, который сам не имеет ссылок в другом месте.

будьте осторожны, однако, как один из способов анализа кода для мертвого кода может направить вас неправильно, если ссылка "скрыта" только когда-либо вызывая метод через делегатов, и, конечно же, отображение.

правила для выявления мертвого кода, в частности, являются:

  • частные методы, которые не вызываются из любого другого кода (CA1811)
  • неиспользуемые локальные переменные (CA1804)
  • неиспользуемые частные поля (CA1823)
  • неиспользуемые параметры (CA1801)
  • внутренние классы, которые не создаются из любого другого кода (CA1812).
  • мертвый код в побитовом или ограниченном переключателе (C6259)

Ниже приводится содержимое .файл набора правил, который можно получить, выполнив описанные выше шаги, для вашего конвейера. Вы можете просто скопировать ниже XML, вставить его в блокнот++, сохранить где-то с расширением .набор правил найдите и используйте как описано выше:

<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Dead Code Rules" Description=" " ToolsVersion="12.0">
  <Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
    <Rule Id="CA1801" Action="Warning" />
    <Rule Id="CA1804" Action="Warning" />
    <Rule Id="CA1811" Action="Warning" />
    <Rule Id="CA1812" Action="Warning" />
    <Rule Id="CA1823" Action="Warning" />
  </Rules>
  <Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
    <Rule Id="C6259" Action="Warning" />
  </Rules>
</RuleSet>

надеюсь, что это помогает вам, и не забудьте выбрать лучший ответ.