Giter Club home page Giter Club logo

awesome-analyzers's Introduction

awesome-analyzers

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

Getting Started

Resources for creating your first analyzer:

Popular Analyzers

Analyzer collections

  • roslyn-analyzers - Official 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
  • 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.
  • Roslynator - A collection of 500+ analyzers, refactorings and fixes for C#, powered by Roslyn.
  • 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.
  • Gu.Analyzers - Roslyn analyzers and fixes.
  • Meziantou.Analyzer - A Roslyn analyzer to enforce some good practices in C#.
  • 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' 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.
  • 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

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

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#.
  • SmartAnalyzers.MultithreadingAnalyzer - A set of Roslyn analyzers related to multithreading
  • 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.

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 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

Miscellaneous

Deprecated Analyzers

  • 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.
  • RefactoringEssentials - Free Visual Studio 2015 extension for C# and VB.NET refactorings, including code best practice analyzers to improve your projects.
  • Public API analyzer (Superseded by Microsoft.CodeAnalysis.PublicApiAnalyzers) - Helps tracking reusable code public API exposure, aids in proper encapsulation.
  • 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.

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

awesome-analyzers's People

Contributors

aalmada avatar andrei-epure-sonarsource avatar bbrandt avatar blowin avatar cezarypiatek avatar cybermaxs avatar dogfuntom avatar gtbuchanan avatar kaspervk avatar mauricel avatar nnpcyvivl avatar rabadash8820 avatar rlgnak avatar shuebner avatar thesteak2 avatar thieum avatar thomasardal avatar tylerbrinkley avatar vannevelj avatar wachulski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-analyzers's Issues

Remove AsyncFixer

The URL is no longer valid and leads to spammy sites. The project is no longer actively maintained. No source available.

If we don't want to remove it entirely then the link should at least be updated to the nuget package page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.