Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-analyzers

A curated list of .NET Compiler Platform ("Roslyn") diagnostic analyzers and code fixes. Everyone can contribute here!
https://github.com/Cybermaxs/awesome-analyzers

Last synced: 5 days ago
JSON representation

  • Getting Started

    • Analyzer collections

      • Roslynator - A collection of 500+ analyzers, refactorings and fixes for C#, powered by Roslyn.
      • Gu.Analyzers - Roslyn analyzers and fixes.
      • Meziantou.Analyzer - A Roslyn analyzer to enforce some good practices in C#.
      • roslyn-analyzers - Official Roslyn diagnostic analyzers developed and maintained by the Roslyn team. Contains:
      • StyleCopAnalyzers - An implementation of StyleCop rules using the .NET Compiler Platform
      • Wintellect.Analyzers - .NET Compiler Platform ("Roslyn") diagnostic analyzers and code fixes written by Wintellect
      • sonarlint-vs - SonarLint is a Visual Studio 2015 extension that provides on-the-fly feedback to developers on new bugs and quality issues injected into C# code.
      • sonar-dotnet - the Sonar Roslyn analyzers which are powering SonarLint. They are also published as [SonarAnalyzer.CSharp](https://www.nuget.org/packages/SonarAnalyzer.CSharp/) NuGet package.
      • ErrorProne.NET - ErrorProne.NET is a set of Roslyn-based analyzers that will help you to write correct code. The idea is similar to Google's error-prone but focusing on correctness (and, maybe, performance) of C# programs.
      • SharpSource - A collection of analyzers that aim to surface defects at compile that would otherwise go unnoticed until it's too late.
      • Blowin.Required - Implementation of proposal 'Required Properties' https://github.com/dotnet/csharplang/issues/3630.
      • BlowinCleanCode - BlowinCleanCode is a Roslyn-based C# code analyzer that aims to provide a set of rules that helps to simplify code and make it cleaner.
      • Selectorlyzer.Analyzers - Selectorlyzer.Analyzers is a highly customizable Roslyn Analyzer designed to empower developers with the ability to create project-specific analyzers using a CSS selector-like syntax.
      • Menees.Analyzers - Roslyn-based C# code analyzers. Various analyzers ported from StyleCop+.
    • Security

      • Puma Scan - Security analyzer that provides real time, continuous source code analysis for C# applications.
      • SecurityCodeScan - Vulnerability Patterns Detector for C# and VB.NET.
    • ASP.NET Core and web

      • AngleSharp - AngleSharp is the ultimate angle brackets parser library. It parses HTML5, CSS3, and XML to construct a DOM based on the official W3C specification.
      • AspNetCoreAnalyzers - Analyzers for Microsoft.AspNetCore.
    • Async/multithreading

      • AsyncFixer - Advanced Async/Await Diagnostics and CodeFixes for C#.
      • Asyncify - Asyncify-CSharp is an analyzer and codefix that allows you to quickly update your code to use the Task Asynchronous Programming model. This model, introduced in C# 5, adds an intuitive way of handling asynchronous calls within C#. The analyzer allows large codebases to be easily modified to use the TAP model by finding violations and applying fixes up the call tree.
      • Microsoft.VisualStudio.Threading.Analyzers - Static code analyzer to detect common mistakes or potential issues regarding threading and async coding.
      • SmartAnalyzers.MultithreadingAnalyzer - A set of Roslyn analyzers related to multithreading
    • 3rd party libraries

      • Moq.Analyzers - Roslyn analyzer that helps to write unit tests using Moq mocking library by highlighting typical errors and suggesting quick fixes. Port of Resharper extension to Roslyn. Find the full list of detected issues at project GitHub page.
      • Roslynator.Testing.CSharp.Xunit - Testing framework for Roslyn analyzers, refactorings and code fixes.
      • xunit.analyzers - Code Analyzers for projects using xUnit.net that help find and fix frequent issues when writing tests.
      • ZeroFormatter.Analyzer - Analyzer of ZeroFormatter, verify rule for [ZeroFormattable] classes.
      • ClosedTypeHierarchyDiagnosticSuppressor - Roslyn-based C# diagnostic suppressor that enhances the `switch` exhaustiveness checks for the closed type hierarchy pattern aka discriminated unions
      • OneOfDiagnosticSuppressor - Roslyn-based C# diagnostic suppressor that enhances the `switch` exhaustiveness checks of `OneOf<...>.Value` from the [OneOf library](https://github.com/mcintyre321/OneOf) and thus enables effective use of native `switch` as an alternative to the library's own `Switch` and `Match` methods
      • NSubstitute.Analyzers - Provides diagnostic analyzers to warn about incorrect usage of NSubstitute in C# or VB
      • System.IO.Abstractions.Analyzers - Analyzer for helping using package [System.IO.Abstractions](https://github.com/Testably/Testably.Abstractions)
    • Miscellaneous

  • Deprecated Analyzers

    • Miscellaneous

      • VSDiagnostics - A collection of code-quality analyzers based on the new Roslyn platform. This project aims to ensure code-quality as you type it in your editor rather than having to do this as a separate build-step.
      • RoslynClrHeapAllocationAnalyzer - Roslyn based C# heap allocation diagnostic analyzer that can detect explicit and many implicit allocations like boxing, display classes a.k.a closures, implicit delegate creations, etc
      • Mews.Analyzers - Roslyn based code analyzers used by Mews.
      • Code Cracker - An analyzer library for C# and VB that uses Roslyn to produce refactorings, code analysis, and other niceties
      • CSharpEssentials - C# Essentials is a collection of Roslyn diagnostic analyzers, code fixes and refactorings that make it easy to work with C# 6 language features.
      • Public API analyzer - analyzers/blob/main/src/PublicApiAnalyzers/Microsoft.CodeAnalysis.PublicApiAnalyzers.md)) - Helps tracking reusable code public API exposure, aids in proper encapsulation.
      • RoslynClrHeapAllocationAnalyzer - Roslyn based C# heap allocation diagnostic analyzer that can detect explicit and many implicit allocations like boxing, display classes a.k.a closures, implicit delegate creations, etc
  • Blogs

  • Free and online tools