為專案加上程式碼風格檢查 StyleCop.Analyzers
團隊N個人就有N種開發風格,加上StryleCop強制風格統一吧
1.Install Nuget Package
dotnet add package StyleCop.Analyzers
2.Build一下專案,所有不符合規則的都會出現Warning,訊息中的[SAXXXX]就是規則的編號,可以從這邊查詢更詳細的內容
3.若想讓他不是Warn而是Error,可以在專案檔 .csproj 內加上這行,相關設定可以參考這邊
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
4.這樣只要不符合規則,編譯就會失敗了
5.若想要忽略掉某些規則,可以在專案內加上設定檔 .ruleset,指定要忽略的規則
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="StyleCopRules" Description="StyleCop Analyzers" ToolsVersion="15.0">
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<Rule Id="SA0001" Action="None"/>
<Rule Id="SA1003" Action="None"/>
</Rules>
</RuleSet>
6.還需要調整專案檔 .csproj,讓他讀取設定
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<CodeAnalysisRuleSet>My.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
7.若有多個專案要讀同一個設定檔,可以把設定檔放在專案外層,記得也要一併調整 .csproj 的內的設定檔路徑
8.讓設定跟著專案跑,這樣也不用擔心團隊每個人都要額外設定Code Style了
StyleCopAnalyzers https://github.com/DotNetAnalyzers/StyleCopAnalyzers
Sample Code https://github.com/ianChen806/StyleCopAnalyzersSample