JetBrains Rider 2023.2 Help

Refactorings

JetBrains Rider provides an extensive set of automated solution-wide code refactorings that allow you to rename, move, and safely delete symbols; introduce and inline fields, variables, or parameters, and carry out many more transformations painlessly.

Refactorings are available for most of the supported languages and project items. For more information about specific refactorings, study the following sections:

Perform a refactoring

  1. Place the caret at a symbol, select a code fragment that you want to refactor, or select an item in a tool window.

  2. Do one of the following:

    • In the main menu, choose Refactor, and then select a desired refactoring. The list of refactorings available in this menu depends on the current context. If JetBrains Rider cannot suggest any refactorings for the context, the entire menu is disabled.

    • In the main menu, choose Refactor | Refactor This, or press Control+Alt+Shift+T to display the list of applicable refactorings, then select one of them. You can also choose Refactor This in the context menu of a selection.

    • Use default keyboard shortcuts (Windows, Linux/ (macOs) assigned to specific refactorings, or assign custom shortcuts to your favorite refactoring commands.

  3. If the selected refactoring requires user input, the refactoring wizard opens. Note that the wizard's dialogs are not modal, so you can edit the code while the wizard is open.

  4. If a refactoring operation would cause code conflicts (such as duplicate names, visibility conflicts, and so on), the wizard displays the list of conflicts on the last step, before you apply the refactoring. For some conflicts, the wizard can also suggest quick-fixes. For more information, refer to Resolve conflicts in refactorings.

  5. Right after the refactoring has been completed, all changes that it makes anywhere, including other files, are registered as a single operation. So you can use the Undo action Control+Z to roll back all these changes with a single keystroke.

Some refactorings are available immediately after you modify code in the editor. For more information, refer to Inplace refactorings

You can use the following shortcuts to invoke refactorings:

Refactor This...

Control+Alt+Shift+T

Rename...

Shift+F6

Change Signature...

Control+F6

Inline...

Control+Alt+N

Move...

F6

Extract Method...

Control+Alt+M

Introduce Field...

Control+Alt+F

Introduce Parameter...

Control+Alt+P

Introduce Variable...

Control+Alt+V

Safe Delete...

Alt+Delete

For the full list of JetBrains Rider keyboard shortcuts, refer to Keyboard shortcuts in predefined keymaps.

Last modified: 08 September 2023