diff --git a/Roslyn-Analyzers-(third-party).md b/Roslyn-Analyzers-(third-party).md index 47c301b..1aedb0c 100644 --- a/Roslyn-Analyzers-(third-party).md +++ b/Roslyn-Analyzers-(third-party).md @@ -30,8 +30,18 @@ As a reminder, the project files' include graph looks like: `/Common.props` enables the .NET Analyzers and StyleCop, and imports BizHawk.Analyzer and some third-party Analyzers. See [Dependencies](Dependencies#main-solution) for the graph of every project in the main solution. -You can tell the assembly references are working if `;;` is flagged with "MA0037: Remove empty statement". -You can tell the ruleset reference is working if that was flagged but the output isn't flooded with other warnings, such as "MEN002: Line must be no longer than 160 characters". -Similarly, you can tell the StyleCop config reference is working if the output isn't flooded with warnings such as "SA1600: Elements should be documented". +You can tell the Analyzers are working if `;;` is flagged with "MA0037: Remove empty statement". +> Note: All Analyzers *except StyleCop* should run by default. You can enable StyleCop with `-p:RunStyleCop=true`. -> **Important**: `/src/MainSlnCommon.props` *disables* Analyzers unless `-p:RunAnalyzersDuringBuild=true` is passed to `dotnet` / the build script. \ No newline at end of file +The enabled Analyzers are: +- .NET SDK + - `Microsoft.CodeAnalysis.NetAnalyzers`, [docs](https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/) + - [docs](https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/) for `IDExxxx` + - `Nullable` polyfill +- `DotNetAnalyzers.DocumentationAnalyzers`, [docs](https://github.com/DotNetAnalyzers/DocumentationAnalyzers/blob/master/DOCUMENTATION.md) +- `Menees.Analyzers`, [docs](https://github.com/menees/Analyzers/blob/master/README.md) +- `Meziantou.Analyzer`, [docs](https://github.com/meziantou/Meziantou.Analyzer/blob/main/README.md) +- `Roslynator.Analyzers`, [docs](https://josefpihrt.github.io/docs/roslynator/analyzers/) +- `StyleCop.Analyzers`, [docs](https://github.com/DotNetAnalyzers/StyleCopAnalyzers/tree/master/documentation) +- `Microsoft.CodeAnalysis.BannedApiAnalyzers` (only enabled in main solution), [docs](https://github.com/dotnet/roslyn/blob/main/src/RoslynAnalyzers/Microsoft.CodeAnalysis.BannedApiAnalyzers/BannedApiAnalyzers.Help.md) +- [`BizHawk.Analyzer`](ExternalProjects/BizHawk.Analyzer) \ No newline at end of file