Skip to content

Feature Release

Compare
Choose a tag to compare
@michael-damatov michael-damatov released this 15 Dec 18:42
· 51 commits to master since this release
7e17498

New Features

  • New LINQ analyzers that suggest replacing expressions with equivalent expressions with equivalent expressions that are more readable, or use modern language features, or improve performance.
  • New string analyzers that suggests replacing expressions with equivalent expressions that are more readable, or use modern language features, or improve performance.
  • New StringBuilder analyzers that suggests replacing expressions with equivalent expressions that are more readable or improve performance.
  • Show a suggestion when the base type declaration can be omitted.
  • New context action to annotate type parameters, parameters, and return values with [DefaultEqualityUsage].
  • New context action to toggle the return type of async methods between Task and ValueTask or Task<T> and ValueTask<T>.
  • New context action to replace string.IsNullOrEmpty with equivalent modern language features.

Improved

  • Annotation analyzers now check if the nullability annotation ? is applied to return types of async and iterator methods.
  • Analyzer for "throwing exceptions from unexpected locations" now extended to check finally blocks and exception filter expressions.
  • Analyzer for detected yield return statements inside lock scopes is now aware of the new Lock type and doesn't issue warnings because it's done by the compiler.
  • Ensures compatibility with ReSharper 2024.3.2