Releases: dotnet/roslynator
Releases · dotnet/roslynator
v0.9.60
Analyzers
Changes
- UseNameOfOperator analyzer:
- only quote marks (and at sign) are faded out.
- analyzer detects property name in property setter.
- SimplifyLambdaExpressionParameterList analyzer - parenthesized lambda with parameter list with a single parameter without type can be simplified to simple lambda
Bug Fixes
- UseExpressionBodiedMember analyzer
Refactorings
New Refactorings
- Duplicate argument
- Add cast to return statement's expression
- Add cast to variable declaration
- Merge string literals
- Merge string literals into multiline string literal
- Convert regular string literal to verbatim string literal
- Convert verbatim string literal to regular string literal
- Convert verbatim string literal to regular string literals
- Use expression-bodied member
Changes
- "Extract expression from parentheses" refactoring is available when cursor is on opening/closing parenthesis.
Bug Fixes
- "Check parameter for null" refactoring is available for lambda expression and anonymous method.
- "Remove comment" and "Remove all comments" refactorings is available when cursor is inside xml documentation comment.
- "Convert foreach to for" refactoring is available for string expression.
v0.9.40
Analyzers
- NEW - "RemoveEmptyFinallyClause" analyzer and code fix added
- NEW - "RemoveEmptyArgumentList" analyzer and code fix added
- NEW - "SimplifyLogicalNotExpression" analyzer and code fix added
- NEW - "RemoveUnnecessaryCaseLabel" analyzer and code fix added
- NEW - "RemoveRedundantDefaultSwitchSection" analyzer and code fix added
- NEW - "RemoveRedundantBaseConstructorCall" analyzer and code fix added
- NEW - "RemoveEmptyNamespaceDeclaration" analyzer and code fix added
- NEW - "SimplifyIfStatementToReturnStatement" analyzer and code fix added
- NEW - "RemoveRedundantConstructor" analyzer and code fix added
- NEW - "AvoidEmptyCatchClauseThatCatchesSystemException" analyzer and code fix added
- NEW - "FormatDeclarationBraces" analyzer and code fix added
- NEW - "SimplifyLinqMethodChain" analyzer and code fix added
- NEW - "AvoidUsageOfStringEmpty" analyzer and code fix added
- NEW - "ThrowingOfNewNotImplementedException" analyzer added
- NEW - "UseCountOrLengthPropertyInsteadOfAnyMethod" analyzer and code fix added
Refactorings
- NEW - "Swap arguments" refactoring added
- NEW - "Swap expressions" refactoring added
- NEW - "Swap parameters" refactoring added
- NEW - "Duplicate parameter" refactoring added
- NEW - "Access element using '[]' instead of 'First/Last/ElementAt' method" refactoring added
- NEW - "Introduce constructor from selected member(s)" refactoring added
- "Remove member" refactoring removes xml comment that belongs to a member
- "Add boolean comparison" refactoring works for return statement in method/property/indexer
- "Convert string literal to interpolated string" refactoring adds empty interpolation
- Bug fixed in "Rename field according to property name" refactoring
- Bug fixed in "Convert foreach to for" refactoring
v0.9.30
Analyzers
- NEW - UseForStatementToCreateInfiniteLoop analyzer and code fix added
- NEW - UseWhileStatementToCreateInfiniteLoop analyzer and code fix added
- NEW - AvoidUsageOfDoStatementToCreateInfiniteLoop analyzer and code fix added
- NEW - UseStringLiteralInsteadOfInterpolatedString analyzer and code fix added
- RemoveRedundantEmptyLine analyzer enhanced
- FormatAccessorList analyzer now works for auto-property accessor list
- MergeLocalDeclarationWithReturnStatement code fix now works when cursor is in return statement
- MergeIfStatementWithContainedIfStatement code fix improved (unnecessary parentheses are not added)
- bug fixed in SimplifyAssignmentExpression analyzer
Refactorings
- "Extract statement(s) from if statement" refactoring now works for topmost if statement that has else clause
- "Format binary expression on multiple lines" refactoring now works for a single binary expression
- "Negate binary expression" refactoring now works properly for a chain of logical and/or expressions
- "Remove parameter name from each argument" refactoring now works when any argument has parameter name
- "Expand property and add backing field" improved (accessor is on a single line)
v0.9.21
- bug fixed in "MergeIfStatementWithContainedIfStatement" analyzer
v0.9.20
Analyzers
- "MergeIfStatementWithContainedIfStatement" analyzer and code fix added
- "DeclareEachTypeInSeparateFile" analyzer added
- "AvoidLockingOnPubliclyAccessibleInstance" analyzer and code fix added (without batch fixer)
- "SimplifyAssignmentExpression" analyzer and code fix added
- "AddEmptyLinesBetweenDeclarations" analyzer and code fix added
- "AvoidUsingAliasDirective" analyzer added
- "AvoidSemicolonAtEndOfDeclaration" analyzer and code fix added
- "UseLogicalNotOperator" analyzer renamed to "SimplifyBooleanComparison" and improved
- "RemoveRedundantBooleanLiteral" analyzer now works for "&& true" and "|| false"
Refactorings
- "Add boolean comparison" refactoring added
- "Convert interpolated string to string literal" refactoring added
- "Convert string literal to interpolated string" refactoring added
- "Change 'Any/All' to 'All/Any'" refactoring added
- "Format all parameters on a single line" refactoring now works for parameter list with a single parameter
- "Convert to constant" refactoring now works only for predefined types (except object)
- "Remove comment/comments" refactorings now work for comments that are inside trivia
- "Make member abstract" refactoring now work only for non-abstract indexer/method/property that is in abstract class
- "Add/remove parameter name (to/from each argument)" refactorings now work when cursor is right behind the parameter
- Bug fixed in "Uncomment" refactoring
v0.9.11
- bug fixes and minor improvements