2010-01-22 11 views
5

Ist es möglich, StyleCop-Regeln in einem globaleren was zu unterdrücken ... mit anderen Worten, nicht nur Source-Inline-Attribute zu verwenden?StyleCop-Unterdrückung

Antwort

8

Sie können bestimmte Stylecop-Regeln mit einer Settings.StyleCop-Datei deaktivieren. Zum Beispiel sind bestimmte Dinge in stylecop eingebaut, die nicht zu unserem Standard passen. Zum Beispiel in meiner Settings.StyleCop Datei haben wir: „Diese“

<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.ReadabilityRules"> 
    <Rules> 
    <Rule Name="PrefixLocalCallsWithThis"> 
     <RuleSettings> 
     <BooleanProperty Name="Enabled">False</BooleanProperty> 
     </RuleSettings> 
    </Rule> 
    </Rules> 
    <AnalyzerSettings /> 
</Analyzer> 

Derart, dass auf einem Mitglied Variable oder Eigenschaft müssen wir nicht haben für jeden einzelnen.

+0

Und ich werde downvoted warum? – McAden

+0

' False' muss das dümmste XML sein, das ich je gesehen habe. –

+0

' True' – McAden

2

Absolut!

Quellenattribute sollten nur in den seltensten Fällen verwendet werden, die große Mehrheit Ihrer StyleCop-Konfiguration sollte über den StyleCopSettingsEditor erfolgen (klicken Sie mit der rechten Maustaste auf ein Projekt, wählen Sie "StyleCop Settings", das öffnet einen) .

Dadurch wird eine Settings.StyleCop-Datei für dieses Projekt im Projektverzeichnis erstellt. Diese Datei kann manuell bearbeitet werden, wie die andere Antwort erwähnt, aber ich würde niemals vorschlagen, XML in einem Editor zu hacken. StyleCopSettingsEditor ist definitiv der richtige Weg.

Sobald Sie Ihre StyleCop-Einstellungen geändert haben, sind Sie noch nicht fertig!
Diese Einstellungen gelten nur für dieses eine Projekt und das könnte definitiv nicht ausreichen.
Ich persönlich rate, diese StyleCop.Settings-Datei um ein Verzeichnis auf die Lösungsebene zu verschieben und es als "Solution Item" hinzuzufügen. Dann überprüfen Sie diese Datei in TFS (oder welches Quellcodeverwaltungssystem Sie auch verwenden). Jetzt sind diese StyleCop-Einstellungen ein Teil der gesamten Lösung und jeder wird sie bekommen, wenn sie ein "Get Latest" machen. Bei Bedarf können Sie die Lösungseinstellungen mit Projekteinstellungen überschreiben (eine StyleCop.Settings-Datei auf Projektebene wird eine auf der Lösungsebene überschreiben). Die einzige Möglichkeit, Ihre StyleCop-Einstellungen globaler zu gestalten, besteht darin, sie in der Verzeichnisstruktur noch höher zu verschieben (bis zur Team-Projekt-Ebene, wenn Sie TFS verwenden, unzuverlässig seit GetLatest bei der Lösung) level wird sie nicht an alle verteilen), oder um die Settings.StyleCop Datei im StyleCop Installationsverzeichnis zu überschreiben (noch unzuverlässiger, da dies nicht von der Quellcodeverwaltung gehandhabt werden kann und stattdessen an alle oder irgendwas per E-Mail gesendet werden muss).

Insgesamt gibt es definitiv Möglichkeiten, die spezifischen StyleCop-Einstellungen für Ihr Team so global wie Sie möchten, Sie haben viele Möglichkeiten.