ReSharper 2021.3 Help

Fix in scope

Most of quick-fixes can fix the current issue under the caret, but some of them (for example Remove unused directives, Make field read-only, Remove redundant cast, and so on) can also automatically find and fix issues in a larger scope — in the current file, in the current project or in the whole solution.

Apply fix in scope

You can recognize such fix by a small arrow displayed next to it in the action list.

Scalable quick-fix

Apply fix in scope

  1. Set the caret to a code issue highlighted by a ReSharper's inspection.

  2. Press Alt+Enter or click the action indicator to the left of the caret to open the action list.

  3. Choose a quick-fix that you want to apply.

  4. Click the arrow to right of the quick-fix or press the right arrow key to expand the list of available scopes. If there is no arrow to the right of a quick-fix, then this quick-fix only applies locally.

  5. Select the scope for the quick-fix to apply and click it or press Enter.

All files where ReSharper applies fix in scope open in editor tabs. If necessary, you can undo all that was changed in these files with a single command: choose Edit | Undo in the main menu or press Ctrl+Z.

Fix inconsistent naming in scope

The quick-fix that fixes inconsistent naming, calls the Rename refactoring to make sure that all occurrences of the symbol are renamed in your solution.

Quick-fix for naming style violation

Therefore, when you choose to fix naming in a wider scope, ReSharper displays an additional dialog where you can select items to rename:

Fix in scope: bulk rename

List of quick-fixes that can be applied in wider scope

The full list of quick-fixes that can be applied in wider scopes includes:



  • Add 'template' keyword

  • Add 'typename' keyword

  • Apply clang-tidy fix for []

  • Arrange braces

  • Arrange cv-qualifiers

  • Arrange overriding function specifiers

  • Bulk make local var const

  • Bulk make local variable declaration const

  • Change smart pointer to make function

  • Convert to nested namespace definition

  • Convert to nested namespaces

  • Convert to regular return type

  • Convert to trailing return type

  • Delete redundant specifier

  • Delete redundant typename template keywords keyword

  • Join declaration and assignment

  • Make member function 'const'

  • Make member function 'static'

  • Remove all unused #include directives in file

  • Remove cast

  • Remove elaborated type specifier

  • Remove redundant 'else' keyword

  • Remove redundant lambda parameter list

  • Remove redundant member initializer

  • Remove redundant parentheses

  • Remove redundant qualifier

  • Remove redundant template arguments

  • Remove statement

  • Remove unnecessary whitespace

  • Remove unreachable code

  • Remove unused lambda capture

  • Replace expression with 'false'

  • Replace expression with 'nullptr'

  • Replace 'if' with 'if constexpr'

  • Replace import directive

  • Replace throw with rethrow

  • Replace with ''

  • Replace with a type alias

  • Replace with a typedef

  • Replace with prefix operator

  • Replace with structured binding

  • Sort #include directives

  • Sort member initializers by the order of initialization

  • Use ''

  • Use 'auto'

  • Use 'contains' member function

  • Use static_cast


  • Add event accessor

  • Add get accessor

  • Add init accessor

  • Add set accessor

  • Argument style Add missing/Remove redundant argument name (see Code Syntax Style: Named/Positional Arguments)

  • Arrange attributes Place attributes into single section (see Code Syntax Style: Multiple Attributes)

  • Arrange braces Add missing braces/Remove redundant braces (see Code Syntax Style: Braces for Single Nested Statements)

  • Arrange code body

  • Arrange default value

  • Arrange inconsistent qualifier (see Code Syntax Style: Optional Member Qualifiers)

  • Arrange namespace body

  • Arrange object creation

  • Arrange redundant qualifier (see Code Syntax Style: Optional Member Qualifiers)

  • Arrange trailing comma

  • Clarify precedence with parentheses (see Code Syntax Style: Optional Parentheses)

  • Convert to auto-property (see Use auto-properties)

  • Convert to primary constructor

  • Convert to 'switch' expression

  • Convert to 'switch' statement

  • Convert to 'using' declaration

  • Discard parameter

  • Enforce deconstructing declaration style

  • Enforce discard declaration style

  • Fix built in type reference style use type keyword/CLR type name (see Code Syntax Style: Built-In Type References)

  • Fix nullability mismatch with default parameter value

  • Import extension get enumerator method

  • Import extension get enumerator method popup

  • Import method (see Code Syntax Style: Namespace Imports)

  • Import method popup Import item and all other references (see Code Syntax Style: Namespace Imports)

  • Import type (see Import missing namespaces)

  • Import type quick popup (see Import missing namespaces)

  • Inline 'out' variable declaration

  • Inline temporary variable

  • Join null check with assignment

  • Make type not nullable

  • Make anonymous function static

  • Make auto-property get-only (see Make auto-properties get-only)

  • Make null checked parameters nullable

  • Make operator 'public static'

  • Make property init-only

  • Make readonly Make fields readonly (see Make fields readonly)

  • Mark nullable (see Value and nullability analysis)

  • Merge 'and' pattern

  • Merge conditional expression

  • Merge into pattern

  • Merge nested property patterns

  • Move to '' namespace

  • Parenthesize signature

  • Pass string interpolation

  • Relocate attribute to parameter

  • Remove '()' (see Code Syntax Style: Optional Parentheses)

  • Remove 'abstract' keyword

  • Remove argument name specification (see Code Syntax Style: Named/Positional Arguments)

  • Remove 'as' operator

  • Remove async and update returns

  • Remove attribute

  • Remove cast

  • Remove 'Cast<T>' call

  • Remove 'class' keyword

  • Remove 'ConfigureAwait(true)'

  • Remove discard

  • Remove explicit property

  • Remove guard clause

  • Remove initializer

  • Remove invalid statement

  • Remove modifier

  • Remove 'new' modifier

  • Remove nullable annotations without '#nullable' context

  • Remove param type specification

  • Remove 'params' array creation

  • Remove 'partial' keyword

  • Remove prohibited modifier(s)

  • Remove property assignment

  • Remove redundant '?'

  • Remove redundant argument(s) value

  • Remove redundant 'ascending'

  • Remove redundant attribute

  • Remove redundant base constructor invocation

  • Remove redundant 'base()'

  • Remove redundant body

  • Remove redundant braces

  • Remove redundant 'catch'

  • Remove redundant comparison

  • Remove redundant condition

  • Remove redundant constructor

  • Remove redundant delegate constructor call

  • Remove redundant else

  • Remove redundant 'finally' block

  • Remove redundant fixed pointer declaration

  • Remove redundant 'int'

  • Remove redundant 'internal' modifier (see Code Syntax Style: Modifiers)

  • Remove redundant 'is'

  • Remove redundant member initializer

  • Remove redundant name

  • Remove redundant 'new'

  • Remove redundant parentheses (see Code Syntax Style: Optional Parentheses)

  • Remove redundant parenthesis (see Code Syntax Style: Optional Parentheses)

  • Remove redundant range bound

  • Remove redundant section

  • Remove redundant signature

  • Remove redundant 'string.Format()' call (see Code analysis and helpers for string literals)

  • Remove redundant 'ToCharArray()'

  • Remove redundant 'ToString' (see Code analysis and helpers for string literals)

  • Remove redundant true pattern

  • Remove redundant tuple component name

  • Remove redundant type arguments

  • Remove redundant type specification

  • Remove redundant verbatim prefix

  • Remove 'sealed' keyword

  • Remove semicolon

  • Remove statement

  • Remove subpattern

  • Remove 'unchecked' expression

  • Remove unnecessary whitespace

  • Remove 'unsafe' modifier

  • Remove unused directives in file

  • Remove unused label

  • Remove unused var

  • Rename to ''

  • Replace casts with pattern variable

  • Replace 'unsafe' statement with its body

  • Replace with count access

  • Replace with JetBrains.Annotations attribute

  • Rethrow exception

  • Separate statements with blank line

  • Simplify negated pattern

  • Simplify negated relational pattern

  • Sort modifiers (see Code Syntax Style: Modifiers)

  • Specify attribute target

  • Swap via deconstruction

  • To compound assignment

  • To computed property

  • To extension method invocation

  • To null-coalescing compound assignment

  • To regular string

  • To string literal

  • Unwrap from delegate creation

  • Use annotation syntax

  • Use 'ArgumentNullException.ThrowIfNull'

  • Use array empty method

  • Use array initializer

  • Use async overload

  • Use 'await using'

  • Use base class qualifier

  • Use collection initializer

  • Use compiler attributes

  • Use conditional access

  • Use 'ConfigureAwait(false)'

  • Use 'EventArgs.Empty'

  • Use explicit type - Use 'var' or explicit type depending on the code style settings.

  • Use index from end expression

  • Use 'nameof' expression

  • Use negated pattern

  • Use null check pattern

  • Use null propagation

  • Use nullable short form

  • Use object initializer

  • Use pattern matching

  • Use positional deconstruction pattern

  • Use range indexer

  • Use span type for stack alloc

  • Use string interpolation

  • Use type annotation syntax

  • Use 'Type.EmptyTypes'

  • Use 'var' pattern

  • Wrap with constructor

  • Wrap with lambda


  • Add/change quotes


  • Add explicit 'null'

  • Add missing comma

  • Add/change quotes

  • Convert to template string

  • Fix property name

  • Json schema incompatibilities

  • Make all variables from this list block-scope

  • Move variable '' to inner block

  • Remove unexpected comma

  • Rename to ''

  • Terminate all unterminated statements in file


  • Change public modifier to conform style

  • Change to ECMAScript 6 'export default'

  • Convert cast to 'as' operator

  • Convert to ECMAScript 6 import statement

  • Fix relative path style

  • Js2 ts transformation

  • Remove redundant qualifier

  • Remove redundant reference comment

  • Remove redundant type specification

  • Remove unused 'import'

  • Specify '' explicitly

  • Specify variable type explicitly



  • Remove element

  • Rename to ''

This feature is supported in the following languages and technologies:

Language: C#

Language: VB.NET

Language: C++

Language: HTML

Language: ASP.NET

Language: Razor

Language: JavaScript

Language: TypeScript

Language: CSS

Language: XML

Language: XAML

Language: Resx

Language: Build Scripts

Language: Protobuf

Language: JSON

Feature is available in C#

Feature is available in Visual Basic .NET

Feature is available in C++

Feature is available in HTML

Feature is available in ASP.NET

Feature is not available in Razor

Feature is available in JavaScript

Feature is available in TypeScript

Feature is not available in CSS

Feature is not available in XML

Feature is not available in XAML

Feature is not available in Resource files

Feature is not available in build script files

Feature is not available in Protobuf

Feature is not available in JSON

The instructions and examples given here address the use of the feature in C#. For details specific to other languages, see corresponding topics in the ReSharper by language section.

Last modified: 07 April 2022