Releases: dotnet/roslynator
Releases · dotnet/roslynator
v0.94.0
Refactorings
New Refactorings
- ReplaceReturnStatementWithIfStatement
- WrapStatementsInTryCatch
- WrapStatementsInIfStatement
- RemoveMemberDeclarations
v0.93.0
Refactorings
New Refactorings
- AddIdentifierToVariableDeclaration
- RemoveEmptyLines
v0.92.0
Refactorings
New Refactorings
- CommentOutMember
- CommentOutStatement
- IntializerLocalWithDefaultValue
- AddDefaultValueToParameter
Improvements
- refactoring "ChangeTypeAccordingToExpression" works for field declaration
- refactoring "AddCastExpression" works for case label expression
- refactoring "FormatExpressionChain" does not format namespace
- refactoring "ReplacePropertyWithMethod" works for property with setter
- refactoring "ReverseForLoop" works for reversed for loop
v0.91.0
Refactorings
New Refactorings
- RemoveConditionFromLastElseIf
- RemoveAllXmlComments
- RemoveStatement
- DuplicateStatement
- ReplaceAnonymousMethodWithLambdaExpression
- SplitVariableDeclaration
- ReplaceCountWithLengthOrLengthWithCount
Changes
- ChangeMethodReturnTypeToVoid
- refactoring is available only when method body contains at least one statement
- refactoring is not available for async method that returns Task
- IntroduceUsingStaticDirective
- refactoring is available only when class name is selected
v0.9.90
Refactorings
New Refactorings
- ReplaceDoStatementWithWhileStatement
- ReplaceWhileStatementWithDoStatement
- IntroduceUsingStaticDirective
- ChangeMethodReturnTypeToVoid
- ReplaceEnumHasFlagWithBitwiseOperation
v0.9.80
Analyzers
Changes
- many analyzers renamed
- developmentDependency element added to CSharpAnalyzers.nuspec
Refactorings
New Refactorings
- AddInterpolation
- SimplifyLambdaExpression
Changes
- refactorings can be enabled/disabled in Visual Studio UI (Tools - Options)
- some refactorings are available only when C# 6.0 is available.
- many refactorings renamed
- refactoring "ChangeMemberTypeAccordingToReturnExpression" improved for async method
- refactoring "AddCastToReturnExpression" improved for async method
- refactoring "CheckParameterForNull" is not available for lambda and anonymous method
Bug Fixes
- refactoring "MarkMemberAsStatic" should not be available for a constant.
v0.9.70
Analyzers
Changes
- analyzer "MergeIfStatementWithContainedIfStatement" renamed to "MergeIfStatementWithNestedIfStatement"
Refactorings
New Refactorings
- MarkMemberAsStatic
- MarkAllMembersAsStatic
- FormatAccessorBracesOnSingleLine
- GenerateSwitchSections
- ConvertStringLiteralToCharacterLiteral
Changes
- refactoring "ReverseForLoop" is available within 'for' keyword.
- refactoring "SwapExpressionsInBinaryExpression" is available only for logical and/or expression.
- refactoring "AddCastAccordingToParameterType" can offer more than one cast.
- refactorings "SwapParameters" and "SwapArguments" removed (these are covered by "Change signature..." dialog)
- refactorings "RemoveMember" and "DuplicateMember" are available only at opening/closing brace
Bug Fixes
- refactoring "RemoveAllRegions" is available inside #endregion directive.
- refactoring "RenameMethodAccordingToTypeName" handles properly async method.
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)