In Visual Studio 2013 wird die Anzahl der Referenzen eines speziellen Codes (Methode, Eigenschaft, Feld, ...) von Code Lens angezeigt . Ich möchte unbenutzte Codes (ohne Referenz) in Visual Studio erhalten. Gibt es eine Möglichkeit, sie zu bekommen?
Ich meine unten Referenz:
c#
visual-studio-2013
codelens
Nima Rostami
quelle
quelle
public
nicht verwendet wird, ohne die gesamte Codebasis zu durchsuchen. Bei nicht verwendeten Interna und Privaten werden Sie von Code Analysis jedoch gewarnt, wenn Sie die entsprechende Warnung aktiviert haben.Antworten:
Der wahrscheinlich beste und einfachste Weg, um das zu erreichen, wonach Sie suchen, ist die Verwendung des integrierten Code-Analyse-Tools in Visual Studio, um Sie zu finden und direkt zu totem Code und nicht verwendeten Mitgliedern zu führen.
Zu diesem Zweck habe ich eine neue Code - Analyse ruleset Datei (Via File-> New-> Datei , um sicherzustellen , Allgemein im linken Bereich ausgewählt wurde und nach unten scrollen finden Code - Analyse - Regelsatz , es einen Dateinamen geben, dann für die Suche und Auswahl der folgenden Regeln). Im Folgenden finden Sie den Inhalt der Regelsatzdatei, die Sie kopieren und in eine neue Datei mit der zu verwendenden Erweiterung .ruleset einfügen können.
Bei einer Regelsatzdatei können Sie im Projektmappen- Explorer mit der rechten Maustaste auf eine Projektdatei klicken und Eigenschaften auswählen . Klicken Sie in den Fenstern der Projekteigenschaften im linken Bereich auf die Registerkarte Code-Analyse und dann auf Öffnen , um zum Speicherort der .ruleset-Datei zu navigieren. Wenn Sie zu den Eigenschaften einer Lösungsdatei wechseln (im Gegensatz zu einer Projektdatei), können Sie die Code-Analysedatei für jedes Projekt in der Lösung an einem Ort festlegen (unter Code-Analyse-Einstellungen und über das dortige Dropdown-Menü auswählen) HINWEIS: Sie müssen zuvor die Regelsatzdatei durchsucht haben, damit sie in der Dropdown-Liste in diesem Eigenschaftenfenster angezeigt wird.
Anschließend führen Sie einfach die Codeanalyse für die Projekte / Lösungen aus (über Analyse-> Codeanalyse für Lösung ausführen -OR- Alt + F11 ) und sie wird als Warnungen, nicht referenzierte Methoden oder nicht verwendete gefundene Mitglieder zurückgegeben. Es werden sogar Methoden gefunden, auf die von einer Methode verwiesen wird, auf die selbst an keiner anderen Stelle verwiesen wird.
Seien Sie jedoch vorsichtig, da eine der Möglichkeiten der Codeanalyse für toten Code Sie falsch steuern kann, wenn die Referenz "verborgen" ist, indem die Methode immer nur über Delegaten aufgerufen wird, und natürlich durch Reflektion.
Die Regeln zum Erkennen von totem Code lauten insbesondere:
Nachfolgend finden Sie den Inhalt der .ruleset-Datei, die Sie zur Vereinfachung der oben genannten Schritte abrufen können. Sie können das folgende XML einfach kopieren, in Notepad ++ einfügen , mit der Erweiterung .ruleset irgendwo speichern , wie oben beschrieben suchen und verwenden:
quelle
https://scottlilly.com/c-code-quality-improvement/remove-unused-classes-properties-and-functions/
"Leider können Sie [in Visual Studio Analysis] nur nicht verwendete private Mitglieder erkennen. Dies liegt daran, dass der Code Analyzer davon ausgeht, dass öffentliche Mitglieder möglicherweise von anderen Programmen verwendet werden. Dies kann zutreffen, wenn Sie sie als API über einen Webdienst veröffentlichen oder geben Sie Ihren Code als Bibliothek frei. ... ReSharper verfügt über ähnliche Code-Analysefunktionen - mit dem Vorteil, nach nicht verwendeten öffentlichen Mitgliedern zu suchen. "
quelle
Ich würde jede Datei durchgehen, den Befehl Strg-MO ausführen, um alles zu reduzieren, und dann nach der Referenz 0 suchen.
quelle
Hier ist eine manuelle Methode, um dies zu erreichen, mit der ich nicht verwendete Klassen gefunden habe, die als öffentlich gekennzeichnet sind.
Hinweis: Wenn Sie die Regel "Eine Klasse pro Datei" nicht befolgen, ist viel mehr Arbeit erforderlich. Außerdem müssen Sie bei allen API-Service-Endpunkten überprüfen, ob sie nicht von externen Projekten verwendet werden.
quelle