Deaktivieren von StyleCop-Regeln

77

Ich benutze StyleCop. Aber es gibt ein paar Regeln, die ich ignorieren möchte, zum Beispiel this.vor Klassenmitgliedern.

Wie deaktiviere ich eine StyleCop-Regel? Ich habe nachgesehen, kann aber nicht finden, wie es geht.

AJM
quelle

Antworten:

80

In Ihrer StyleCop-Installation befindet sich eine Settings.StyleCopDatei. Sie können dies bearbeiten, um Regeln global zu deaktivieren. Ziehen Sie diese Datei in die ausführbare Datei des Einstellungseditors, um sie zu bearbeiten.

Sie können auch Kopien der Einstellungsdatei in Ihre Projekte einfügen, um die globalen Einstellungen zu überschreiben.

Wenn Sie die Visual Studio-Integration und nicht nur die MSBuild-Integration verwenden, sollten Sie in der Lage sein, pro Projekt zum Einstellungseditor zu gelangen, indem Sie mit der rechten Maustaste auf Ihr Projekt klicken und StyleCop Settingsetwas Ähnliches auswählen .

bdukes
quelle
Wo ist diese Einstellungsdatei? Gilt das, wenn Sie auch einen Resharper installiert haben?
Krieg
Für Version 4.7 ist es C:\Program Files (x86)\StyleCop 4.7\Settings.StyleCop. Die ReSharper-Integration wird auch dort
angezeigt
ah danke :) ... ärgerlich, wenn ich über 100 Projekte habe und 1 Regel für alle deaktivieren muss.
Krieg
4
@Wardy Wenn Sie alle dann in derselben Lösung haben, können Sie die Settings.StyleCopDatei im selben Verzeichnis wie Ihre .slnDatei haben.
Gefängnis
4
@ Harrison, haben Sie versucht, StyleCopSettingsEditor.exe in Ihrer Settings.StyleCop-Datei zu verwenden, anstatt sie manuell zu bearbeiten? Es ist inC:\Program Files (x86)\StyleCop 4.7
bdukes
11

Stylecop ist auf Projektebene konfigurierbar. Verwalten Sie Regeln einfach über die grafische Oberfläche, anstatt die Einstellungsdatei zu bearbeiten. (Einige Zeit in einigen Versionen, die als Stylecop-Einstellungen bezeichnet werden.)

Sie sollten eine Such- / Suchoption sehen, sobald Sie die Einstellungsoption wie im folgenden Bild ausgewählt haben.

Beispiel: Wenn Sie eine Regel entfernen möchten, bei der // Kommentare nicht zulässig sind und //// von stylecop zulässig sind, suchen Sie nach der Stylecop-Regel-ID. In diesem Fall ist es SA1005. Sie können dies im Abschnitt Warnungen sehen, wenn Sie Stylecop in Ihrem Projekt ausführen. Suchen Sie mit dem Schlüsselwort SA1005 und Sie sollten dies im Ergebnisabschnitt sehen. Einfach deaktivieren.

Geben Sie hier die Bildbeschreibung ein

Sie können Regeln wie folgt verwalten

Geben Sie hier die Bildbeschreibung ein

Kurkula
quelle
Ich denke, Sie können ONE csproj auf diese Weise einrichten und dann die Settings.StyleCop-Datei in einen höheren Ordner "verschieben" (z. B. .. \ ..). Dies gilt für alle Dateien in / unter diesem Ordner.
GranadaCoder
(Wiederholen Sie den Kommentar einer anderen Antwort, aber hilfreich, um zusätzliche Arbeit zu vermeiden.) ::: Zusätzlicher Tipp. Wenn Sie eine Verzeichnisstruktur wie \ root \ Pres \ Pres.csproj, \ root \ Bal \ Bal.csproj, \ root \ Dal \ Dal.csproj und \ root \ Solutions \ MySolution.sln haben, können Sie mit der rechten Maustaste auf eine der folgenden Optionen klicken Projekte ....... erstellen Sie die Regeln ...... (\ root \ Bal \ Settings.StyleCop zum Beispiel) ABER Sie können diese Datei manuell nach \ root \ Settings.StyleCop verschieben ........ ... und es wird "global" für \ root \, auch bekannt als Ihre gesamte Lösung.
GranadaCoder
6

Diese spezielle Regel befindet sich unter Lesbarkeitsregeln - Mitgliederzugriff - SA1101: PrefixLocalCallsWithThis.

Wenn Sie das ausschalten, sollte es aufhören, Sie anzuschreien ... Ich musste es tun. Stylecop hat mir Kopfschmerzen bereitet.

DeadlyChambers
quelle