Releases: prodot/ReCommended-Extension
Releases · prodot/ReCommended-Extension
Compatibility Release
Ensures compatibility with ReSharper 2024.1.3
Compatibility Release
Ensures compatibility with ReSharper 2024.1.2
Compatibility Release
Ensures compatibility with ReSharper 2024.1.1
Feature Release
New Features
- Advanced disposable object analysis built around the
[MustDisposeResource]and[HandlesResourceDisposal]annotations.- Disposable type should now be annotated with the
[MustDisposeResource], which is inherited by derived types. Disposable ref structs cannot implement interfaces, their constructors (as well as primary constructors) should now be annotated with the[MustDisposeResource]. - In rare cases, some disposable objects should not be disposed, such types should be annotated with the
[MustDisposeResource(false)], which is not inherited by derived types. - Methods returning disposable objects should also be annotated with the
[MustDisposeResource], which is inherited by derived types. - As with types, methods returning disposable objects that aren't intended to be disposed, should be annotated with the
[MustDisposeResource(false)], which is not inherited by derived types. - The same also applies to "out" parameters.
- The
[Pure],[MustUseReturnValue], and[MustDisposeResource]annotations cannot be applied at the same time. - New warning when an overridden method changes its return type, which becomes disposable.
- New context action to apply the
[HandlesResourceDisposal]annotation.
- Disposable type should now be annotated with the
- Collection expressions (require C# 12)
- Suggests replacing target-typed empty arrays (incl.
Array.Empty<T>()expressions) with the empty collection expression[]. - Suggests more cases to use collection expression, e.g. when the target type is
IEnumerable<T>, but an array orList<T>is constructed. - Suggests using empty collection expression
[]when new empty collection objects are created and the target type is the collection type.
- Suggests replacing target-typed empty arrays (incl.
- New warning that an
[AttributeUsage]annotations are missing on attribute classes (with a quick fix to apply the annotation). - New context action to apply the
[IgnoreSpellingAndGrammarErrors]annotation - Equality analyzers
- New warning when a struct overrides the
Equalswithout implementing theIEquatable<T>interface. - New warning when a type implements the
IEquatable<T>interface without overriding theEqualsmethod. - New suggestion to implement the
IEqualityOperators<T, T, bool>interface when theIEquatable<T>interface is implemented (with a quick fix). Records automatically implement theIEquatable<T>interface and provide the equality operators. The analyzer requires .NET 7 or higher. - New suggestion to implement the
IComparisonOperators<T, T, bool>interface when theIComparable<T>interface is implemented (with a quick fix). The analyzer requires .NET 7 or higher.
- New warning when a struct overrides the
- New context actions for XML doc comments:
- advanced formatter for XML doc comments that knows doc comment tags and performs re-wrapping, reordering of top-level tags, and lots more. Just put the caret into a doc comment and select the Reflow context action.
- embeds the selection or the current word into the
<see cref="..."/>,<paramref name="..."/>, and<typeparamref name="..."/>tags - embraces the selection or the current word with
<c>...</c>
Improved
- Analyzer that suggests replacing array made out of default values (
new T[] { default, default }) with thenew T[n]expression now supports collection expressions. - Analyzer that detects redundant captured context now supports the overloaded
ConfigureAwaitmethod introduced in .NET 8.0. - Context actions to apply
[LinqTunnel],[NonNegativeValue], and[ValueRange(...)]now support local functions
Known Issues
- Currently, only
///-style doc comments are supported for the Reflow context action. - The Reflow context action might remove empty lines in the
<code>...</code>sections - Surrounding the selection doesn't check if the result becomes a valid XML.
Compatibility Release
Ensures compatibility with ReSharper 2024.1
Feature Release (RC5)
Improved
- Ensures compatibility with ReSharper 2023.3.4
Compatibility Release
Ensures compatibility with ReSharper 2023.3.4
Feature Release (RC4)
New Features
- New context actions for XML doc comments:
- advanced formatter for XML doc comments that knows doc comment tags and performs re-wrapping, reordering of top-level tags, and lots more. Just put the caret into a doc comment and select the Reflow context action.
- embeds the selection or the current word into the
<see cref="..."/>,<paramref name="..."/>, and<typeparamref name="..."/>tags - embraces the selection or the current word with
<c>...</c>
Known Limitations
- Currently, only
///-style doc comments are supported for the Reflow context action. - The Reflow context action might remove empty lines in the
<code>...</code>sections - The Reflow context action might be unavailable for types with a primary constructor with at least one parameter. This is an known issue of the ReSharper SDK.
- Surrounding the selection doesn't check if the result becomes a valid XML.
Feature Release (RC3)
Improved
- Does not suggest to use collection expressions in LINQ
fromclauses
Feature Release (RC2)
Improved
- Adds a hint regarding changing collection expression type to the quick fix
- Ensures compatibility with ReSharper 2023.3.3