Skip to content

Releases: dotnet/roslynator

v0.94.0

26 Jul 04:25
Compare
Choose a tag to compare

Refactorings

New Refactorings
  • ReplaceReturnStatementWithIfStatement
  • WrapStatementsInTryCatch
  • WrapStatementsInIfStatement
  • RemoveMemberDeclarations

v0.93.0

20 Jul 23:21
Compare
Choose a tag to compare

Refactorings

New Refactorings
  • AddIdentifierToVariableDeclaration
  • RemoveEmptyLines

v0.92.0

17 Jul 23:13
Compare
Choose a tag to compare

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

11 Jul 20:59
Compare
Choose a tag to compare

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

08 Jul 18:25
Compare
Choose a tag to compare

Refactorings

New Refactorings
  • ReplaceDoStatementWithWhileStatement
  • ReplaceWhileStatementWithDoStatement
  • IntroduceUsingStaticDirective
  • ChangeMethodReturnTypeToVoid
  • ReplaceEnumHasFlagWithBitwiseOperation

v0.9.80

05 Jul 02:55
Compare
Choose a tag to compare

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

23 Jun 11:35
Compare
Choose a tag to compare

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

14 Jun 20:13
Compare
Choose a tag to compare

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

24 May 16:15
Compare
Choose a tag to compare

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

16 May 00:40
Compare
Choose a tag to compare

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)