Releases: DotNetAnalyzers/StyleCopAnalyzers
1.0.0 Alpha 5
Overview
Features
- Automatically detects many generated code files, and automatically suppresses style warnings in these contexts
Details
Compared to Alpha 4 we have:
Analyzers
The following analyzers are enabled by default in this release (all with Warning severity by default).
ID | Title | Code Fix |
---|---|---|
SA1000 | Keywords must be spaced correctly | ✔ |
SA1001 | Commas must be spaced correctly | ✔ |
SA1002 | Semicolons must be spaced correctly | ✔ |
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 | ✔ |
SA1021 | Negative signs must be spaced correctly | ✔ |
SA1022 | Positive signs must be spaced correctly | ✔ |
SA1100 | Do not prefix calls with base unless local implementation exists | ✔ |
SA1101 | Prefix local calls with this | ✔ |
SA1102 | Query clause must follow previous clause | |
SA1106 | Code must not contain empty statements | |
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 | |
SA1119 | Statement must not use unnecessary parenthesis | ✔ |
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 | |
SA1201 | Elements must appear in the correct order | |
SA1205 | Partial elements must declare access | ✔ |
SA1212 | Property accessors must follow order | |
SA1213 | Event accessors must follow order | |
SA1300 | Element must begin with upper-case letter | |
SA1301 | Element must begin with lower-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 | ✔ |
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 | ✔ |
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 | ✔ |
SA1500 | Curly brackets for multi-line statements must not share line | |
SA1503 | Curly brackets must not be omitted | ✔ |
SA1504 | All accessors must be single-line or multi-line | |
SA1507 | Code must not contain multiple blank lines in a row | ✔ |
SA1509 | Opening curly brackets must not be preceded by blank line | ✔ |
SA1513 | Closing curly bracket must be followed by blank line | ✔ |
SA1516 | Elements must be separated by blank line | ✔ |
SA1517 | Code must not contain blank lines at start of file | ✔ |
SA1518 | Code must not contain blank lines at end of file | ✔ |
SA1600 | Elements must be documented | |
SA1601 | Partial elements must be documented | |
SA1602 | Enumeration items must be documented | |
SA1603 | Documentation must contain valid XML | |
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 | |
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 | |
SA1626 | Single-line comments must not use documentation style slashes | |
SA1642 | Constructor summary documentation must begin with standard text | ✔ |
SA1643 | Destructor summary documentation must begin with standard text | ✔ |
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.
1.0.0 Alpha 4
1.0.0-alpha004 Prepare release 1.0.0-alpha004
1.0.0 Alpha 3
This release fixes a major usability bug (#468) with SA1101 (PrefixLocalCallsWithThis). See the release notes for 1.0.0 Alpha 2 for more information about today's release(s).
1.0.0 Alpha 2
This is a feature and bug-fix update. Seven new StyleCop analysis rules have been implemented, and a few bugs identified in previous rules have been corrected.
Implemented Rules
The following rules are implemented as part of this release. Rules in bold are new for this release.
- Spacing rules
- SA1000 Keywords must be spaced correctly
- SA1021 Negative signs must be spaced correctly
- SA1022 Positive signs must be spaced correctly
- Readability rules
- SA1100 Do not prefix calls with base unless local implementation exists
- SA1101 Prefix local calls with this
- SA1106 Code must not contain empty statements
- SA1111 Closing parenthesis must be on line of last parameter
- SA1112 Closing parenthesis must be on line of opening parenthesis
- SA1121 Use built-in type alias
- SA1122 Use string.Empty for empty strings
- Naming rules
- 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
- SA1311 Static readonly fields must begin with upper-case letter
- Maintainability rules
- SA1119 Statement must not use unnecessary parenthesis
- SA1400 Access modified 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
- Documentation rules
- SA1601 Partial elements must be documented
- SA1602 Enumeration items must be documented
- SA1603 Documentation must contain valid XML
- 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
1.0.0 Alpha 1
Implemented Rules
The following rules are implemented as part of this release.
- Spacing rules
- SA1000 Keywords must be spaced correctly
- SA1021 Negative signs must be spaced correctly
- SA1022 Positive signs must be spaced correctly
- Readability rules
- SA1100 Do not prefix calls with base unless local implementation exists
- SA1112 Closing parenthesis must be on line of opening parenthesis
- SA1121 Use built-in type alias
- SA1122 Use string.Empty for empty strings
- Naming rules
- 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
- Maintainability rules
- SA1119 Statement must not use unnecessary parenthesis
- 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
- Documentation rules
- 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