-
Notifications
You must be signed in to change notification settings - Fork 12
Home
Michael Damatov edited this page Sep 10, 2025
·
17 revisions
Welcome to the ReCommended-Extension wiki!
- Analyzes assertion statements and highlights them if they can be removed. show more...
- Analyzes not allowed, missing, or redundant usages of the
[NotNull]and[CanBeNull]annotations. - Analyzes not allowed
[ItemNotNull]annotations. - Analyzes
[SuppressMessage]annotations without justifications. - Analyzes simultaneously used
[Pure]and[MustUseReturnValue]annotations.
- Analyzes
throwstatements and highlights exceptions that should never be thrown. show more... - Analyzes
catchclauses and highlights exceptions that should never be caught. show more... - Analyzes whether exceptions are thrown in unexpected locations. show more...
- Analyzes when the
Exceptionis caught without declaring an exception variable. show more...
- Analyzes whether adding
.ConfigureAwait(false)is recommended. show more...
- Analyzes whether
ValueTaskorValueTask<T>values consumed more than once. show more... - Analyzes whether
.GetAwaiter().GetResult()is invoked for aValueTaskorValueTask<T>show more...
- Analyzes "async void" methods and local functions and highlights when used inappropriately.
- Analyzes "async" lambda expressions (and anonymous methods as well) that return
void.
- Suggests using collection expressions.
- Suggests using
Array.Empty<T>()to reuse the immutable instance. - Suggests using
new T[n]to improve code readability, where n is the element count. show more...
- Suggests replacing expressions with known results.
- Suggests using other methods.
- Suggests using indexers or patterns.
- Suggests using properties or operators.
- Suggests removing redundant arguments.
- Suggests removing redundant method invocations.
- Suggests removing redundant format specifiers.
- Suggests removing redundant format precision specifiers.
- Warns about unsupported format specifiers.
- Analyzes whether parameter names are passed where the
messageargument is expected. show more...
- Analyzes
lockstatements and warns when objects with weak identities are used. show more... - Analyzes whether
yield returnstatement is used insidelockblocks. show more...
- Suggests declaring an implementation of
IEqualityOperators<T, T, bool>whenIEquatable<T>is implemented for the type. - Warns when a struct overrides
Equalswithout implementing theIEquatable<T>. - Warns when a type implements the
IEquatable<T>interface without overringEquals.
- Suggests declaring an implementation of
IComparisonOperators<T, T, bool>whenIComparable<T>is implemented for the type. show more...
- Analyzes whether
Invokecan be omitted for delegate types. show more...
- Analyzes whether declaring the base type can be omitted. show more...
- Dims method invocations if the method has the
[Conditional]annotation, e.g.Debug.Assert(...). - Dims attribute usages if the attribute class has the
[Conditional]annotation, e.g.[SuppressMessage].
- Suggests using more appropriate visibility for
internalconstructors in abstract classes. show more... - Analyzes invocations of methods annotated with the
[NotifyPropertyChangedInvocator]from class constructors. show more...
- Analyzes if
#regionscopes are overused. show more...
IEqualityOperators<T, T, bool>IComparisonOperators<T, T, bool>
- Puts a C# comment to indicate that the next string literal contains a piece of code written in one of the programming languages supported by ReSharper (e.g. JSON, XML, CSS, HTML, regular expression, etc.) show more...
- Suggests adding code contracts for commonly used scenarios. show more...
[NonNegativeValue][Pure][MustUseReturnValue][InstantHandle][LinqTunnel]
- Embrace with
<c>...</c> - Embed into
<see cref="..."/> - Embed into
<typeparamref name="..."/> - Embed into
<paramref name="..."/> - Reflow XML doc comments
-
TasktoValueTask(and vice versa) -
Task<T>toValueTask<T>(and vice versa)
- Converts
IEnumerable<T>expressions to no-op LINQ queries. show more...
- Replace
string.IsNullOrEmptypatterns show more...
- Suggests to remove the
AssertNotNullexpression. show more...
- Checks binding expressions without explicitly set
Mode. show more...