Skip to content

Latest commit

 

History

History
285 lines (279 loc) · 20 KB

README.md

File metadata and controls

285 lines (279 loc) · 20 KB

Roslynator Analyzers

Overview

Package Prefix Comment
Roslynator.Analyzers RCS1 common analyzers
Roslynator.Formatting.Analyzers RCS0 -
Roslynator.CodeAnalysis.Analyzers RCS9 suitable for projects that reference Roslyn packages (Microsoft.CodeAnalysis*)

List of Analyzers

Id Title Severity
RCS0001 Add blank line after embedded statement None
RCS0002 Add blank line after #region None
RCS0003 Add blank line after using directive list None
RCS0005 Add blank line before #endregion None
RCS0006 Add blank line before using directive list None
RCS0007 Add blank line between accessors None
RCS0008 Add blank line between closing brace and next statement None
RCS0009 Add blank line between declaration and documentation comment None
RCS0010 Add blank line between declarations None
RCS0011 Add/remove blank line between single-line accessors None
RCS0012 Add blank line between single-line declarations None
RCS0013 Add blank line between single-line declarations of different kind None
RCS0014 Add blank line between switch sections None
RCS0015 Add/remove blank line between using directives None
RCS0016 Put attribute list on its own line None
RCS0020 Format accessor's braces on a single line or multiple lines None
RCS0021 Format block's braces on a single line or multiple lines None
RCS0022 Add new line after opening brace of empty block None
RCS0023 Format type declaration's braces None
RCS0024 Add new line after switch label None
RCS0025 Put full accessor on its own line None
RCS0027 Place new line after/before binary operator None
RCS0028 Place new line after/before '?:' operator None
RCS0029 Put constructor initializer on its own line None
RCS0030 Add new line before embedded statement None
RCS0031 Put enum member on its own line None
RCS0032 Place new line after/before arrow token None
RCS0033 Add new line before statement None
RCS0034 Put type parameter constraint on its own line None
RCS0036 Remove blank line between single-line declarations of same kind None
RCS0038 Remove blank line between using directives with same root namespace None
RCS0039 Remove new line before base list None
RCS0041 Remove new line between 'if' keyword and 'else' keyword None
RCS0042 Put auto-accessors on a single line None
RCS0043 Format accessor's braces on a single line when expression is on single line None
RCS0044 Use carriage return + linefeed as new line None
RCS0045 Use linefeed as new line None
RCS0046 Use spaces instead of tab None
RCS0047 [deprecated] Wrap and indent each node in list None
RCS0048 Put initializer on a single line None
RCS0049 Add blank line after top comment None
RCS0050 Add blank line before top declaration None
RCS0051 Add/remove new line before 'while' in 'do' statement None
RCS0052 Place new line after/before equals token None
RCS0053 Fix formatting of a list None
RCS0054 Fix formatting of a call chain None
RCS0055 Fix formatting of a binary expression chain None
RCS0056 A line is too long None
RCS0057 Normalize whitespace at the beginning of a file None
RCS0058 Normalize whitespace at the end of a file None
RCS0059 Place new line after/before null-conditional operator None
RCS0060 Add/remove line after file scoped namespace declaration None
RCS1001 Add braces (when expression spans over multiple lines) Info
RCS1002 Remove braces None
RCS1003 Add braces to if-else (when expression spans over multiple lines) Info
RCS1004 Remove braces from if-else None
RCS1005 Simplify nested using statement Hidden
RCS1006 Merge 'else' with nested 'if' Hidden
RCS1007 Add braces None
RCS1008 Use explicit type instead of 'var' (when the type is not obvious) None
RCS1009 Use explicit type instead of 'var' (foreach variable) None
RCS1010 Use 'var' instead of explicit type (when the type is obvious) None
RCS1012 Use explicit type instead of 'var' (when the type is obvious) None
RCS1013 Use predefined type None
RCS1014 Use explicitly/implicitly typed array None
RCS1015 Use nameof operator Info
RCS1016 Use block body or expression body None
RCS1018 Add/remove accessibility modifiers None
RCS1019 Order modifiers None
RCS1020 Simplify Nullable<T> to T? Info
RCS1021 Convert lambda expression body to expression body Info
RCS1031 Remove unnecessary braces in switch section Hidden
RCS1032 Remove redundant parentheses Info
RCS1033 Remove redundant boolean literal Info
RCS1034 Remove redundant 'sealed' modifier Hidden
RCS1035 Remove redundant comma in initializer None
RCS1036 Remove unnecessary blank line Info
RCS1037 Remove trailing white-space Info
RCS1038 Remove empty statement Info
RCS1039 Remove argument list from attribute Hidden
RCS1040 Remove empty 'else' clause Hidden
RCS1041 Remove empty initializer Info
RCS1042 Remove enum default underlying type Hidden
RCS1043 Remove 'partial' modifier from type with a single part Hidden
RCS1044 Remove original exception from throw statement Warning
RCS1046 Asynchronous method name should end with 'Async' None
RCS1047 Non-asynchronous method name should not end with 'Async' Info
RCS1048 Use lambda expression instead of anonymous method Info
RCS1049 Simplify boolean comparison Info
RCS1050 Include/omit parentheses when creating new object None
RCS1051 Add/remove parentheses from condition in conditional operator None
RCS1052 Declare each attribute separately None
RCS1055 Avoid semicolon at the end of declaration Hidden
RCS1056 Avoid usage of using alias directive None
RCS1058 Use compound assignment Info
RCS1059 Avoid locking on publicly accessible instance Warning
RCS1060 Declare each type in separate file None
RCS1061 Merge 'if' with nested 'if' Hidden
RCS1063 ([deprecated] use RCS1252 instead) Avoid usage of do statement to create an infinite loop Info
RCS1064 ([deprecated] use RCS1252 instead) Avoid usage of for statement to create an infinite loop None
RCS1065 ([deprecated] use RCS1252 instead) Avoid usage of while statement to create an infinite loop None
RCS1066 Remove empty 'finally' clause Hidden
RCS1068 Simplify logical negation Info
RCS1069 Remove unnecessary case label Hidden
RCS1070 Remove redundant default switch section Hidden
RCS1071 Remove redundant base constructor call Hidden
RCS1072 Remove empty namespace declaration Info
RCS1073 Convert 'if' to 'return' statement Info
RCS1074 Remove redundant constructor Hidden
RCS1075 Avoid empty catch clause that catches System.Exception Warning
RCS1077 Optimize LINQ method call Info
RCS1078 Use "" or 'string.Empty' None
RCS1079 Throwing of new NotImplementedException None
RCS1080 Use 'Count/Length' property instead of 'Any' method None
RCS1081 Split variable declaration None
RCS1084 Use coalesce expression instead of conditional expression Info
RCS1085 Use auto-implemented property Info
RCS1089 Use --/++ operator instead of assignment Info
RCS1090 Add/remove 'ConfigureAwait(false)' call None
RCS1091 Remove empty region Hidden
RCS1093 Remove file with no code Info
RCS1094 Declare using directive on top level None
RCS1096 Use 'HasFlag' method or bitwise operator None
RCS1097 Remove redundant 'ToString' call Info
RCS1098 Constant values should be placed on right side of comparisons Info
RCS1099 Default label should be the last label in a switch section Info
RCS1100 ([deprecated] use RCS1253 instead) Format documentation summary on a single line None
RCS1101 ([deprecated] use RCS1253 instead) Format documentation summary on multiple lines None
RCS1102 Make class static Warning
RCS1103 Convert 'if' to assignment Info
RCS1104 Simplify conditional expression Info
RCS1105 Unnecessary interpolation Info
RCS1106 Remove empty destructor Info
RCS1107 Remove redundant 'ToCharArray' call Info
RCS1108 Add 'static' modifier to all partial class declarations Info
RCS1110 Declare type inside namespace Info
RCS1111 Add braces to switch section with multiple statements None
RCS1112 Combine 'Enumerable.Where' method chain Info
RCS1113 Use 'string.IsNullOrEmpty' method Info
RCS1114 Remove redundant delegate creation Info
RCS1118 Mark local variable as const Info
RCS1123 Add parentheses when necessary Info
RCS1124 Inline local variable Hidden
RCS1126 Add braces to if-else None
RCS1128 Use coalesce expression Info
RCS1129 Remove redundant field initialization Hidden
RCS1130 Bitwise operation on enum without Flags attribute Info
RCS1132 Remove redundant overriding member Info
RCS1133 Remove redundant Dispose/Close call Hidden
RCS1134 Remove redundant statement Hidden
RCS1135 Declare enum member with zero value (when enum has FlagsAttribute) Info
RCS1136 Merge switch sections with equivalent content Hidden
RCS1138 Add summary to documentation comment Warning
RCS1139 Add summary element to documentation comment Warning
RCS1140 Add exception to documentation comment Hidden
RCS1141 Add 'param' element to documentation comment Hidden
RCS1142 Add 'typeparam' element to documentation comment Hidden
RCS1143 Simplify coalesce expression Hidden
RCS1145 Remove redundant 'as' operator Hidden
RCS1146 Use conditional access Info
RCS1151 Remove redundant cast Hidden
RCS1154 Sort enum members Info
RCS1155 Use StringComparison when comparing strings Warning
RCS1156 Use string.Length instead of comparison with empty string Info
RCS1157 Composite enum value contains undefined flag Info
RCS1158 Static member in generic type should use a type parameter Info
RCS1159 Use EventHandler<T> Info
RCS1160 Abstract type should not have public constructors Info
RCS1161 Enum should declare explicit values Hidden
RCS1162 Avoid chain of assignments None
RCS1163 Unused parameter Info
RCS1164 Unused type parameter Info
RCS1165 Unconstrained type parameter checked for null Hidden
RCS1166 Value type object is never equal to null Info
RCS1168 Parameter name differs from base name Hidden
RCS1169 Make field read-only Info
RCS1170 Use read-only auto-implemented property Info
RCS1171 Simplify lazy initialization Info
RCS1172 Use 'is' operator instead of 'as' operator Warning
RCS1173 Use coalesce expression instead of 'if' Info
RCS1174 Remove redundant async/await None
RCS1175 Unused 'this' parameter Info
RCS1176 Use 'var' instead of explicit type (when the type is not obvious) None
RCS1177 Use 'var' instead of explicit type (in foreach) None
RCS1179 Unnecessary assignment Info
RCS1180 Inline lazy initialization Info
RCS1181 Convert comment to documentation comment Hidden
RCS1182 Remove redundant base interface Hidden
RCS1186 Use Regex instance instead of static method Hidden
RCS1187 Use constant instead of field Info
RCS1188 Remove redundant auto-property initialization Hidden
RCS1189 Add or remove region name Hidden
RCS1190 Join string expressions Info
RCS1191 Declare enum value as combination of names Info
RCS1192 Unnecessary usage of verbatim string literal Info
RCS1193 Overriding member should not change 'params' modifier Warning
RCS1194 Implement exception constructors Warning
RCS1195 Use ^ operator Info
RCS1196 Call extension method as instance method Info
RCS1197 Optimize StringBuilder.Append/AppendLine call Info
RCS1198 Avoid unnecessary boxing of value type None
RCS1199 Unnecessary null check Info
RCS1200 Call 'Enumerable.ThenBy' instead of 'Enumerable.OrderBy' Info
RCS1201 Use method chaining Hidden
RCS1202 Avoid NullReferenceException Info
RCS1203 Use AttributeUsageAttribute Warning
RCS1204 Use EventArgs.Empty Info
RCS1205 Order named arguments according to the order of parameters Info
RCS1206 Use conditional access instead of conditional expression Info
RCS1207 Use anonymous function or method group None
RCS1208 Reduce 'if' nesting None
RCS1209 Order type parameter constraints Info
RCS1210 Return completed task instead of returning null Warning
RCS1211 Remove unnecessary 'else' Hidden
RCS1212 Remove redundant assignment Info
RCS1213 Remove unused member declaration Info
RCS1214 Unnecessary interpolated string Info
RCS1215 Expression is always equal to true/false Warning
RCS1216 Unnecessary unsafe context Info
RCS1217 Convert interpolated string to concatenation Hidden
RCS1218 Simplify code branching Info
RCS1220 Use pattern matching instead of combination of 'is' operator and cast operator Info
RCS1221 Use pattern matching instead of combination of 'as' operator and null check Info
RCS1222 Merge preprocessor directives Info
RCS1223 Mark publicly visible type with DebuggerDisplay attribute None
RCS1224 Make method an extension method Info
RCS1225 Make class sealed Info
RCS1226 Add paragraph to documentation comment Info
RCS1227 Validate arguments correctly Info
RCS1228 Unused element in documentation comment Hidden
RCS1229 Use async/await when necessary Info
RCS1230 Unnecessary explicit use of enumerator Info
RCS1231 Make parameter ref read-only None
RCS1232 Order elements in documentation comment Info
RCS1233 Use short-circuiting operator Info
RCS1234 Duplicate enum value Info
RCS1235 Optimize method call Info
RCS1236 Use exception filter Info
RCS1237 ([deprecated] use RCS1254 instead) Use bit shift operator Hidden
RCS1238 Avoid nested ?: operators Hidden
RCS1239 Use 'for' statement instead of 'while' statement Info
RCS1240 Operator is unnecessary Info
RCS1241 Implement non-generic counterpart Hidden
RCS1242 Do not pass non-read-only struct by read-only reference Warning
RCS1243 Duplicate word in a comment Info
RCS1244 Simplify 'default' expression Hidden
RCS1246 Use element access Info
RCS1247 Fix documentation comment tag Info
RCS1248 Normalize null check None
RCS1249 Unnecessary null-forgiving operator Info
RCS1250 Use implicit/explicit object creation None
RCS1251 Remove unnecessary braces from record declaration Info
RCS1252 Normalize usage of infinite loop None
RCS1253 Format documentation comment summary None
RCS1254 Normalize format of enum flag value Info
RCS1255 Simplify argument null check None
RCS1256 Invalid argument null check Info
RCS9001 Use pattern matching Hidden
RCS9002 Use property SyntaxNode.SpanStart Info
RCS9003 Unnecessary conditional access Info
RCS9004 Call 'Any' instead of accessing 'Count' Info
RCS9005 Unnecessary null check Info
RCS9006 Use element access Info
RCS9007 Use return value Warning
RCS9008 Call 'Last' instead of using [] Info
RCS9009 Unknown language name Warning
RCS9010 Specify ExportCodeRefactoringProviderAttribute.Name Hidden
RCS9011 Specify ExportCodeFixProviderAttribute.Name Hidden

(Generated with DotMarkdown)