よりグローバルなものでStyleCopルールを抑制することは可能ですか?つまり、ソースのインライン属性を使用するだけではありませんか?
2 に答える
Settings.StyleCopファイルを使用して特定のstylecopルールを無効にすることができます。たとえば、stylecopには、標準に適合しないものが組み込まれています。たとえば、私のSettings.StyleCopファイルには次のものがあります。
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.ReadabilityRules">
<Rules>
<Rule Name="PrefixLocalCallsWithThis">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
そのため、メンバー変数またはプロパティでは、「this」を使用する必要はありません。一人一人のために。
絶対!
ソース属性は、最もまれな状況でのみ使用する必要があります。StyleCop 構成の大部分は、StyleCopSettingsEditor を介して行う必要があります (プロジェクトを右クリックし、[StyleCop 設定] を選択すると、1 つが開きます)。
これにより、プロジェクト ディレクトリにそのプロジェクトの Settings.StyleCop ファイルが作成されます。そのファイルは、他の回答で言及されているように手動で編集できますが、エディターで XML をハッキングすることは決してお勧めしません。StyleCopSettingsEditor は間違いなく最適な方法です。
StyleCop の設定を変更したら、それで終わりではありません。
これらの設定はその 1 つのプロジェクトにのみ適用されるため、これでは不十分な場合があります。
個人的には、その StyleCop.Settings ファイルを 1 つ上のディレクトリのソリューション レベルに移動し、それを「ソリューション アイテム」として追加することをお勧めします。次に、そのファイルを TFS (または使用しているソース管理システム) にチェックインします。現在、これらの StyleCop 設定はソリューション全体の一部であり、「Get Latest」を実行すると全員がそれらを取得します。必要に応じて、ソリューション設定をプロジェクト設定でオーバーライドできます (プロジェクト レベルの StyleCop.Settings ファイルは、ソリューション レベルのファイルをオーバーライドします)。
StyleCop 設定をそれよりもグローバルにする唯一の方法は、ディレクトリ ツリーのさらに上に移動することです (TFS を使用している場合はチーム プロジェクト レベルまで、ソリューション レベルで GetLatest を実行しても信頼できないため)。または、StyleCop のインストール ディレクトリにある Settings.StyleCop ファイルを上書きします (これはソース管理では処理できず、代わりに全員または何かに電子メールで送信する必要があるため、さらに信頼性が低くなります)。
全体として、チームの特定の StyleCop 設定を必要に応じてグローバルにする方法は間違いなくあり、多くのオプションがあります。