All Projects → Cybermaxs → awesome-analyzers

Cybermaxs / awesome-analyzers

Licence: other
A curated list of .NET Compiler Platform ("Roslyn") diagnostic analyzers and code fixes. Everyone can contribute here!

awesome-analyzers

A curated list of .NET Compiler Platform ("Roslyn") diagnostic analyzers and code fixes Everyone can contribute here!

Getting Started

How to create your first analyzer

Analyzers

List of popular analyzers

  • Code Cracker - An analyzer library for C# and VB that uses Roslyn to produce refactorings, code analysis, and other niceties
  • StyleCopAnalyzers - An implementation of StyleCop rules using the .NET Compiler Platform
  • 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.
  • 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
  • RefactoringEssentials - Free Visual Studio 2015 extension for C# and VB.NET refactorings, including code best practice analyzers to improve your projects.
  • Wintellect.Analyzers - .NET Compiler Platform ("Roslyn") diagnostic analyzers and code fixes written by Wintellect
  • roslyn-analyzers - Several Roslyn diagnostic analyzers developed and maintained by the Roslyn team. Contains : AsyncPackage, Desktop.Analyzers, MetaCompilation, Microsoft.AnalyzerPowerPack, Microsoft.CodeAnalysis.Analyzers, Microsoft.Net.RoslynDiagnostics, System.Runtime.Analyzers, System.Runtime.InteropServices.Analyzers
  • 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.
  • Roslynator - A collection of 500+ analyzers, refactorings and fixes for C#, powered by Roslyn.
  • .NET Analyzers GitHub organization - An organization for the development of analyzers (diagnostics, code fixes, and refactorings) using the .NET Compiler Platform.
  • Public API analyzer - Helps tracking reusable code public API exposure, aids in proper encapsulation.
  • AsyncFixer - Advanced Async/Await Diagnostics and CodeFixes for C#.
  • 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.
  • SecurityCodeScan - Vulnerability Patterns Detector for C# and VB.NET.
  • MappingGenerator - 🔄 "AutoMapper" like, Roslyn based, code fix provider that allows to generate mapping code in design time.
  • NetFabric.Hyperlinq.Analyzer - Best practices for collection enumeration in C#.
  • Puma Scan - Security analyzer that provides real time, continuous source code analysis for C# applications.
  • SmartAnalyzers.ExceptionAnalyzer - A set of Roslyn analyzers related to exceptions usages.
  • SmartAnalyzers.MultithreadingAnalyzer - A set of Roslyn analyzers related to multithreading
  • 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.
  • 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.
  • 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.
  • CSharpGuidelinesAnalyzer - Reports diagnostics for C# coding guidelines that are not already covered by Resharper. Requires Visual Studio 2017 Update 5 or higher.
  • DotNetAnalyzers.DocumentationAnalyzers - An implementation of .NET documentation rules using Roslyn analyzers and code fixes.
  • Gu.Analyzers - Roslyn analyzers and fixes.
  • IDisposableAnalyzers - Analyzers and fixes for IDisposable.
  • Mews.Analyzers - Roslyn based code analyzers used by Mews.
  • Meziantou.Analyzer - A Roslyn analyzer to enforce some good practices in C#.
  • Microsoft.CodeAnalysis.Analyzers - Analyzers for consumers of Microsoft.CodeAnalysis NuGet package, i.e. extensions and applications built on top of .NET Compiler Platform (Roslyn). This package is included as a development dependency of Microsoft.CodeAnalysis NuGet package and does not need to be installed separately if you are referencing Microsoft.CodeAnalysis NuGet package.
  • Microsoft.VisualStudio.Threading.Analyzers - Static code analyzer to detect common mistakes or potential issues regarding threading and async coding.
  • 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.
  • Blowin.Required - Implementation of proposal 'Required Properties' dotnet/csharplang#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.

Tools

Free and online tools

  • Roslyn Quoter Roslyn tool that for a given C# program shows syntax tree API calls to construct its syntax tree

Blogs

Blogs talking about Roslyn analyzers

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].