StyleCopPlus 3.2.0
See the version list below for details.
dotnet add package StyleCopPlus --version 3.2.0
NuGet\Install-Package StyleCopPlus -Version 3.2.0
<PackageReference Include="StyleCopPlus" Version="3.2.0" />
paket add StyleCopPlus --version 3.2.0
#r "nuget: StyleCopPlus, 3.2.0"
// Install StyleCopPlus as a Cake Addin #addin nuget:?package=StyleCopPlus&version=3.2.0 // Install StyleCopPlus as a Cake Tool #tool nuget:?package=StyleCopPlus&version=3.2.0
StyleCopPlus Analyzers and Refactorings
This project is an implementation of StyleCop+ rules using the .NET Compiler Platform (Roslyn) as well as some additional refactorings and analyzers. Original project is available on CodePlex.
Installation
This project is available as a NuGet package and VSIX extension. Currently Roslyn does not support loading refactorings from NuGet packages so you need to install VSIX extension in order to get full functionality.
Latest VSIX and NuGet Packages
Analyzers
- SP1131 (Unsafe Condition Analyzer) - validates that constant pattern matching is used instead of
==
operator to avoid typos likeif (flag = true)
, also suggests using negated not pattern instead of!=
operator. - SP2100 (Line Too Long Analyzer) - validates that code lines do not exceed 110 symbols.
- SP2101 (Method Too Long Analyzer) - validates that methods length do not exceed 50 lines.
- SP2102 (Property Too Long Analyzer) - validates that property accessors do not exceed 40 lines.
- SP2103 (File Too Long Analyzer) - validates that files length do not exceed 400 lines.
- SP1001 (Invalid Exception Message) - validates exception message to match best practices. Inspired by Microsoft guidelines and StackOverflow discussion.
- SP1002 (Cancellation token name) - validates that parameters of type
CancellationToken
are namedct
.
Configuration
Analyzer line limits can be configured through StyleCop configuration file. Add the following snippet with configured values to the end of the file:
"styleCopPlusRules": {
"maxLineLength": 110,
"maxFileLength": 400,
"maxPropertyAccessorLength": 40,
"maxMethodLength": 50
}
Refactorings
- Check Parameters - adds custom null check code for method or constructor parameters.
- Create Variable From Invocation - saves result of method or property to local variable.
- Duplicate Method - creates an exact copy of the method under cursor.
- Introduce Field - creates and initializes class field from constructor parameter.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.CodeAnalysis.CSharp (>= 4.9.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Migration to GitHub actions, other minor enhancements.