github DotNetAnalyzers/StyleCopAnalyzers 1.1.0-beta002
1.1.0 Beta 2

pre-release7 years ago

Beta Release

Summary

  • New features
    • C# 7 support ๐ŸŽ‰
  • Rule modifications
    • SA1413 now reported for enum members (#2239)
  • Bug fixes
    • Readability: SA1125 (#2284)
    • Naming: SA1303/SA1309/SA1312 code fix (#2360)
    • Layout: SA1513 (#2269, #2306)
    • Documentation: SA1612 (#2280), SA1623 (#2253)
  • Other
    • Use LightJson instead of Json.NET to resolve problems in some usage scenarios (inherited from release 1.0.2)

Upgrade notices

Upgrading from StyleCop Classic

๐Ÿ“ This section applies to users upgrading from StyleCop Classic to StyleCop Analyzers.

โžก๏ธ We now have a list of known changes in behavior relative to StyleCop Classic.

Upgrading from StyleCop Analyzers 1.0.0

โš ๏ธ StyleCop Analyzers 1.1.0 depends on Roslyn 1.2. Users working with Visual Studio 2015 will need to install Update 2 or newer to get this version.

Binaries

Analyzers

Table of Analyzers

The following analyzers are included in this release (all with Warning severity by default).

ID Title Code Fix
SA0001 ยณ All diagnostics of XML documentation comments has been disabled due to the current project configuration
SA0002 ยณ The stylecop.json settings file could not be loaded due to a deserialization error
SA1000 Keywords must be spaced correctly โœ”
SA1001 Commas must be spaced correctly โœ”
SA1002 Semicolons must be spaced correctly โœ”
SA1003 Symbols must be spaced correctly โœ”
SA1004 Documentation lines must begin with single space โœ”
SA1005 Single line comments must begin with single space โœ”
SA1006 Preprocessor keywords must not be preceded by space โœ”
SA1007 Operator keyword must be followed by space โœ”
SA1008 Opening parenthesis must be spaced correctly โœ”
SA1009 Closing parenthesis must be spaced correctly โœ”
SA1010 Opening square brackets must be spaced correctly โœ”
SA1011 Closing square brackets must be spaced correctly โœ”
SA1012 Opening braces must be spaced correctly โœ”
SA1013 Closing braces must be spaced correctly โœ”
SA1014 Opening generic brackets must be spaced correctly โœ”
SA1015 Closing generic brackets must be spaced correctly โœ”
SA1016 Opening attribute brackets must be spaced correctly โœ”
SA1017 Closing attribute brackets must be spaced correctly โœ”
SA1018 Nullable type symbols must be spaced correctly โœ”
SA1019 Member access symbols must be spaced correctly โœ”
SA1020 Increment decrement symbols must be spaced correctly โœ”
SA1021 Negative signs must be spaced correctly โœ”
SA1022 Positive signs must be spaced correctly โœ”
SA1023 Dereference and access of symbols must be spaced correctly โœ”
SA1024 Colons Must Be Spaced Correctly โœ”
SA1025 Code must not contain multiple whitespace in a row โœ”
SA1026 Code must not contain space after new keyword in implicitly typed array allocation โœ”
SA1027 Tabs must not be used โœ”
SA1028 ยณ Code must not contain trailing whitespace โœ”
SA1100 Do not prefix calls with base unless local implementation exists โœ”
SA1101 Prefix local calls with this โœ”
SA1102 Query clause must follow previous clause โœ”
SA1103 Query clauses must be on separate lines or all on one line โœ”
SA1104 Query clause must begin on new line when previous clause spans multiple lines โœ”
SA1105 Query clauses spanning multiple lines must begin on own line โœ”
SA1106 Code must not contain empty statements โœ”
SA1107 Code must not contain multiple statements on one line โœ”
SA1108 Block statements must not contain embedded comments
SA1110 Opening parenthesis or bracket must be on declaration line โœ”
SA1111 Closing parenthesis must be on line of last parameter โœ”
SA1112 Closing parenthesis must be on line of opening parenthesis โœ”
SA1113 Comma must be on the same line as previous parameter โœ”
SA1114 Parameter list must follow declaration
SA1115 Parameter must follow comma
SA1116 Split parameters must start on line after declaration โœ”
SA1117 Parameters must be on same line or separate lines
SA1118 Parameter must not span multiple lines
SA1119 Statement must not use unnecessary parenthesis โœ”
SA1120 Comments must contain text โœ”
SA1121 Use built-in type alias โœ”
SA1122 Use string.Empty for empty strings โœ”
SA1123 Do not place regions within elements โœ”
SA1124 Do not use regions โœ”
SA1125 Use shorthand for nullable types โœ”ยน
SA1127 ยณ Generic type constraints must be on their own line โœ”
SA1128 ยณ Put constructor initializers on their own line โœ”
SA1129 ยณ Do not use default value type constructor โœ”
SA1130 ยณ Use lambda syntax โœ”
SA1131 ยณ Use readable conditions โœ”
SA1132 ยณ Do not combine fields โœ”
SA1133 ยณ Do not combine attributes โœ”
SA1134 ยณ Attributes must not share line โœ”
SA1136 ยณ Multiple enum values are placed on the same line of code โœ”
SA1137 ยณ Elements should have the same indentation โœ”
SX1101 ยฒ ยณ Do not prefix local calls with 'this.' โœ”
SA1200 Using directives must be placed within namespace โœ”
SA1201 Elements must appear in the correct order
SA1202 Elements must be ordered by access
SA1203 Constants must appear before fields
SA1204 Static elements must appear before instance elements
SA1205 Partial elements must declare access โœ”
SA1206 Declaration keywords must follow order
SA1207 Protected must come before internal โœ”
SA1208 System using directives must be placed before other using directives โœ”
SA1209 Using alias directives must be placed after other using directives โœ”
SA1210 Using directives must be ordered alphabetically by namespace โœ”
SA1211 Using alias directives must be ordered alphabetically by alias name โœ”
SA1212 Property accessors must follow order โœ”
SA1213 Event accessors must follow order โœ”
SA1214 Readonly fields must appear before non-readonly fields
SA1216 ยณ Using static directives must be placed after other using directives โœ”
SA1217 ยณ Using static directives must be ordered alphabetically โœ”
SA1300 Element must begin with upper-case letter โœ”
SA1302 Interface names must begin with I โœ”
SA1303 Const field names must begin with upper-case letter โœ”
SA1304 Non-private readonly fields must begin with upper-case letter โœ”
SA1305 โด Field names must not use Hungarian notation
SA1306 Field names must begin with lower-case letter โœ”
SA1307 Accessible fields must begin with upper-case letter โœ”
SA1308 Variable names must not be prefixed โœ”
SA1309 Field names must not begin with underscore โœ”
SA1310 Field names must not contain underscore โœ”
SA1311 Static readonly fields must begin with upper-case letter โœ”
SA1312 ยณ Variable names must begin with lower case letter โœ”
SA1313 ยณ Parameter names must begin with lower case letter โœ”
SA1314 ยณ The name of a C# type parameter does not begin with the capital letter T โœ”
SX1309 ยฒ ยณ Field names must begin with underscore โœ”
SX1309S ยฒ ยณ Static field names must begin with underscore โœ”
SA1400 Access modifier must be declared โœ”
SA1401 Fields must be private
SA1402 File may only contain a single class โœ”
SA1403 File may only contain a single namespace
SA1404 Code analysis suppression must have justification โœ”
SA1405 Debug.Assert must provide message text
SA1406 Debug.Fail must provide message text
SA1407 Arithmetic expressions must declare precedence โœ”
SA1408 Conditional expressions must declare precedence โœ”
SA1410 Remove delegate parenthesis when possible โœ”
SA1411 Attribute constructor must not use unnecessary parenthesis โœ”
SA1412 ยณ โด Store files as UTF-8 โœ”
SA1413 ยณ Use trailing comma in multi-line initializers โœ”
SA1500 Braces for multi-line statements must not share line โœ”
SA1501 Statement must not be on a single line โœ”
SA1502 Element must not be on a single line โœ”
SA1503 Braces must not be omitted โœ”
SA1504 All accessors must be single-line or multi-line โœ”
SA1505 Opening braces must not be followed by blank line โœ”
SA1506 Element documentation headers must not be followed by blank line โœ”
SA1507 Code must not contain multiple blank lines in a row โœ”
SA1508 Closing braces must not be preceded by blank line โœ”
SA1509 Opening braces must not be preceded by blank line โœ”
SA1510 Chained statement blocks must not be preceded by blank line โœ”
SA1511 While-do footer must not be preceded by blank line โœ”
SA1512 Single-line comments must not be followed by blank line โœ”
SA1513 Closing brace must be followed by blank line โœ”
SA1514 Element documentation header must be preceded by blank line โœ”
SA1515 Single-line comment must be preceded by blank line โœ”
SA1516 Elements must be separated by blank line โœ”
SA1517 Code must not contain blank lines at start of file โœ”
SA1518 Use line endings correctly at end of file โœ”
SA1519 ยณ Braces must not be omitted from multi-line child statement โœ”
SA1520 ยณ Use braces consistently โœ”
SA1600 Elements must be documented โœ”
SA1601 Partial elements must be documented
SA1602 Enumeration items must be documented
SA1604 Element documentation must have summary
SA1605 Partial element documentation must have summary
SA1606 Element documentation must have summary text
SA1607 Partial element documentation must have summary text
SA1608 Element documentation must not have default summary
SA1609 โด Property documentation must have value โœ”
SA1610 Property documentation must have value text โœ”
SA1611 Element parameters must be documented
SA1612 Element parameter documentation must match element parameters
SA1613 Element parameter documentation must declare parameter name
SA1614 Element parameter documentation must have text
SA1615 Element return value must be documented โœ”
SA1616 Element return value documentation must have text
SA1617 Void return value must not be documented โœ”
SA1618 Generic type parameters must be documented
SA1619 Generic type parameters must be documented partial class
SA1620 Generic type parameter documentation must match type parameters
SA1621 Generic type parameter documentation must declare parameter name
SA1622 Generic type parameter documentation must have text
SA1623 Property summary documentation must match accessors โœ”
SA1624 Property summary documentation must omit accessor with restricted access โœ”
SA1625 Element documentation must not be copied and pasted
SA1626 Single-line comments must not use documentation style slashes โœ”
SA1627 Documentation text must not be empty
SA1633 File must have header โœ”
SA1634 File header must show copyright โœ”
SA1635 File header must have copyright text โœ”
SA1636 File header copyright text must match โœ”
SA1637 File header must contain file name โœ”
SA1638 File header file name documentation must match file name โœ”
SA1639 โด File header must have summary
SA1640 File header must have valid company text โœ”
SA1641 File header company name text must match โœ”
SA1642 Constructor summary documentation must begin with standard text โœ”
SA1643 Destructor summary documentation must begin with standard text โœ”
SA1648 inheritdoc must be used with inheriting class
SA1649 File name must match first type name โœ”
SA1651 ยณ Do not use placeholder elements โœ”

Notes

ยน This code fix is provided by Visual Studio
ยฒ This "alternative" rule is not enabled by default
ยณ This rule is new for StyleCopAnalyzers, and isn't present in the original StyleCop
โด This rule is not enabled by default

Acknowledgements

Thank you goes to all of the following users, who contributed feedback, bug reports, code submissions, testing, and reviews which helped in this release. In alphabetical order by username. This list does not include people who contacted us through other channels, but your feedback is no less valuable so we thank you as well.

Don't miss a new StyleCopAnalyzers release

NewReleases is sending notifications on new releases.