This project is an implementation of StyleCop+ rules using the .NET Compiler Platform (Roslyn) as well as some additional opinionated refactorings and analyzers. Original project is available on CodePlex.
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
- 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
. - SP1003 (Separate return with empty line) - validates that return statement in block is separated with empty line.
- 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.
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
}
- 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.