ReSharper 2020.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:

ASP.NET

C++

  • Add 'override' specifier to an overriding function

  • Add 'template' keyword

  • Add 'typename' keyword

  • Add 'virtual' specifier to an overriding function

  • Apply clang-tidy fix for []

  • Bulk make local var const

  • Bulk make local variable declaration const

  • Change smart pointer to make function

  • 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 redundant 'else' keyword

  • Remove redundant member initializers

  • Remove redundant parentheses

  • Remove redundant qualifier

  • Remove statement

  • Remove unreachable code

  • Remove unused lambda capture

  • Replace expression with 'false'

  • Replace expression with 'nullptr'

  • Replace 'if' with 'if constexpr'

  • Replace import directive Fix slashes in import file path

  • Replace throw with rethrow

  • Replace with prefix operator

  • Sort #include directives in file

  • Sort member initializers by the order of initialization

  • Use 'auto'

  • Use static_cast

C#

  • 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 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 switch expression

  • Convert to 'switch' expression

  • Convert to 'switch' statement

  • Convert to 'using' declaration

  • 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)

  • 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

  • Join null check with assignment

  • Make auto-property get-only (see Make Auto-Properties Get-Only)

  • Make operator 'public static'

  • Make readonly Make fields readonly (see Make Fields Readonly)

  • Mark nullable (see Value and Nullability Analysis)

  • Merge conditional expression

  • Merge sequential checks

  • Merge sequential patterns

  • Move to '' namespace

  • 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 attribute

  • Remove cast

  • Remove 'Cast<T>' call

  • Remove guard clause

  • Remove initializer

  • Remove invalid statement

  • Remove modifier

  • Remove 'new' modifier

  • 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 base constructor invocation

  • Remove redundant 'base()'

  • 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 member initializer

  • Remove redundant name

  • Remove redundant 'new'

  • Remove redundant 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 tuple component name

  • Remove redundant type arguments

  • Remove redundant type specification

  • Remove redundant verbatim prefix

  • Remove 'sealed' keyword

  • Remove semicolon

  • Remove statement

  • Remove 'unchecked' expression

  • Remove unnecessary whitespace

  • Remove 'unsafe' modifier

  • Remove unused directives in file

  • Remove unused label

  • Rename to ''

  • Replace 'unsafe' statement with its body

  • Replace with count access

  • Rethrow exception

  • Separate statements with blank line

  • Sort modifiers (see Code Syntax Style: Modifiers)

  • To compound assignment

  • To extension method invocation

  • To null-coalescing compound assignment

  • To object pattern

  • To regular string

  • To string literal

  • Unwrap from delegate creation

  • Use array initializer

  • Use async overload

  • Use 'await using'

  • Use base class qualifier

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

  • Use index from end expression

  • Use 'nameof' expression

  • Use null propagation

  • Use nullable short form

  • Use pattern matching

  • Use span type for stack alloc

  • Use string interpolation

  • Wrap with constructor

HTML

  • Add/change quotes

JavaScript

  • 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

TypeScript

  • 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

VB.NET

XAML

  • 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: 21 August 2020