All Projects → menees → Analyzers

menees / Analyzers

Licence: MIT license
C# code analyzers

Programming Languages

C#
18002 projects
powershell
5483 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to Analyzers

Cometary
Roslyn extensions, with a touch of meta-programming.
Stars: ✭ 31 (+72.22%)
Mutual labels:  roslyn, analyzer
Seriloganalyzer
Roslyn-based analysis for code using the Serilog logging library. Checks for common mistakes and usage problems.
Stars: ✭ 214 (+1088.89%)
Mutual labels:  roslyn, analyzer
Security Code Scan
Vulnerability Patterns Detector for C# and VB.NET
Stars: ✭ 550 (+2955.56%)
Mutual labels:  roslyn, analyzer
Meziantou.analyzer
A Roslyn analyzer to enforce some good practices in C#.
Stars: ✭ 189 (+950%)
Mutual labels:  roslyn, analyzer
Dotnetomdgenerator
A Roslyn-based cross-platform tool that generates an object model diagram from a set of C# source files or assemblies
Stars: ✭ 160 (+788.89%)
Mutual labels:  roslyn, analyzer
Curl To Csharp
curl to C# converter
Stars: ✭ 153 (+750%)
Mutual labels:  roslyn
Peachpie
PeachPie - the PHP compiler and runtime for .NET and .NET Core
Stars: ✭ 1,945 (+10705.56%)
Mutual labels:  roslyn
Dotnet Script
Run C# scripts from the .NET CLI.
Stars: ✭ 1,881 (+10350%)
Mutual labels:  roslyn
Dotnetpad
The Waf DotNetPad is a simple and fast code editor that makes fun to program with C# or Visual Basic.
Stars: ✭ 101 (+461.11%)
Mutual labels:  roslyn
Norns
dotnet core aop static weaving on roslyn
Stars: ✭ 23 (+27.78%)
Mutual labels:  roslyn
Roslyn
The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
Stars: ✭ 15,296 (+84877.78%)
Mutual labels:  roslyn
Pluginframework
Everything is a Plugin in .NET
Stars: ✭ 197 (+994.44%)
Mutual labels:  roslyn
Cs2cpp
C# to C++ transpiler (Cs2Cpp) (Powered by Roslyn)
Stars: ✭ 155 (+761.11%)
Mutual labels:  roslyn
Roslyn Security Guard
Roslyn analyzers that aim to help security audit on .NET applications.
Stars: ✭ 214 (+1088.89%)
Mutual labels:  roslyn
Platform Compat
Roslyn analyzer that finds usages of APIs that will throw PlatformNotSupportedException on certain platforms.
Stars: ✭ 250 (+1288.89%)
Mutual labels:  roslyn
Skiasharpfiddle
A SkiaSharp Playground
Stars: ✭ 109 (+505.56%)
Mutual labels:  roslyn
Csharp Source Generators
A list of C# Source Generators (not necessarily awesome) and associated resources: articles, talks, demos.
Stars: ✭ 218 (+1111.11%)
Mutual labels:  roslyn
Bridge
♠️ C# to JavaScript compiler. Write modern mobile and web apps in C#. Run anywhere with Bridge.NET.
Stars: ✭ 2,216 (+12211.11%)
Mutual labels:  roslyn
Scriptcs
Write C# apps with a text editor, nuget and the power of Roslyn!
Stars: ✭ 2,343 (+12916.67%)
Mutual labels:  roslyn
klay
KLAY - Korean Language AnalYzer (한국어 형태소 분석기)
Stars: ✭ 19 (+5.56%)
Mutual labels:  analyzer

windows build & test Nuget

Analyzers

This project provides several new C# code analysis rules for Visual Studio 2015 and later. These rules can be used standalone, or they can be used with other analyzers like StyleCopAnalyzers and Code-Cracker.

Many of the rule limits can be configured using a Menees.Analyzers.Settings.xml file, which must comply with the Menees.Analyzers.Settings.xsd schema. The schema and Settings.cs file (for "documentation") are available in the Menees.Analyzers source code. A project using Menees.Analyzers with a custom settings file should set the Build Action for its Menees.Analyzers.Settings.xml file to "C# analyzer additional file".

This software is CharityWare. If you use it, I ask that you donate something to the charity of your choice.

ID Title Comment
MEN001 Tabs should be used for indentation Ensures tabs are used for indentation instead of spaces. This is the opposite of StyleCop's SA1027: TabsMustNotBeUsed rule. This is similar to the StyleCop+ rule SP2001: CheckAllowedIndentationCharacters when set to "Tabs only".

This rule is off by default because it conflicts with Visual Studio's default settings, which use spaces instead of tabs for indentation. This rule can be enabled using a custom ruleset file, and it includes a code fix provider.
MEN002 Line is too long Ensures that lines are not longer than 160 characters. This is similar to the StyleCop+ rule SP2100: CodeLineMustNotBeLongerThan. The MaxLineColumns and TabSize values for this rule can be configured in Menees.Analyzers.Settings.xml.
MEN002A Line is long Notifies when lines are longer than 160 characters. This rule is off by default because MEN002 takes precedence and is sufficient for most cases. If you enable this rule, then you should also configure NotifyLineColumns to be less than MaxLineColumns in Menees.Analyzers.Settings.xml.
MEN003 Method is too long Ensures that methods are not longer than 120 lines. This is similar to the StyleCop+ rule SP2101: MethodMustNotContainMoreLinesThan. The MaxMethodLines limit for this rule can be configured in Menees.Analyzers.Settings.xml.
MEN004 Property accessor is too long Ensures that property accessors are not longer than 80 lines. This is similar to the StyleCop+ rule SP2102: PropertyMustNotContainMoreLinesThan. The MaxPropertyAccessorLines limit for this rule can be configured in Menees.Analyzers.Settings.xml.
MEN005 File is too long Ensures that files are not longer than 2000 lines. This is similar to the StyleCop+ rule SP2103: FileMustNotContainMoreLinesThan. The MaxFileLines limit for this rule can be configured in Menees.Analyzers.Settings.xml.
MEN006 #regions should be used Recommends that #regions be used when there are over 100 lines in a file or if there is more than one class, struct, enum, or interface defined in a file.

This rule is off by default because it conflicts with StyleCop's SA1124: DoNotUseRegions rule. This rule can be enabled using a custom ruleset file. The MaxUnregionedLines limit for this rule can be configured in Menees.Analyzers.Settings.xml.

Note: Menees VS Tools can be used to easily add, collapse, and expand #regions in C# code (as well as in VB, XML, XAML, HTML, SQL, JavaScript, and TypeScript code).
MEN007 Use a single return Recommends that only a single return statement should be used in a code block. "One entry, one exit" keeps control flow simple and makes refactoring easier.
MEN008 File name should match type Ensures that a file name matches or includes the name of the main type it contains. The TypeFileNameExclusions for this rule can be configured in Menees.Analyzers.Settings.xml.
MEN009 Use the preferred exception type Recommends preferred exception types (e.g., NotSupportedException instead of NotImplementedException). This rule is a complement to CA2201, and it includes a code fix provider.
MEN010 Avoid magic numbers Recommends that named constants be used instead of numeric literals (i.e., magic numbers). The AllowedNumericLiterals for this rule can be configured in Menees.Analyzers.Settings.xml.
MEN011 Align using directives Ensures that using directives are aligned. This is important when using directives are nested inside a namespace (per SA1200: UsingDirectivesMustBePlacedWithinNamespace) because Visual Studio will often fail to indent them correctly if they're added while code contains syntax errors. This rule includes a code fix provider.
MEN012 Flags should be powers of two Flags enum members should be powers of two or bitwise-or combinations of named members. This rule is a complement to CA2217.
MEN013 Use UTC time Recommends UTC times because they're unambiguous and always increasing. This rule includes a code fix provider.
MEN014 Prefer TryGetValue Recommends calling TryGetValue (for a single lookup and retrieval) instead of ContainsKey and this[key] with duplicate lookups.
MEN015 Use Preferred Terms Similar to the old FxCop CA1726 rule except this rule only checks single terms (not double terms). So it uses a slightly different set of default preferred terms (omitting double terms like LogOn), and it includes Id as a preferred term over ID (per FxCop's CA1709 rule).
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].