RubyMine 2024.3 Help

Refactor code

Refactoring is a process of improving your source code without creating a new functionality. Refactoring helps you keep your code solid and easy to maintain.

Invoke refactoring

  1. Select an item to refactor. You can select a file/folder in the Project tool window or expression/symbol in the editor.

  2. Press Ctrl+Alt+Shift+T to open a list of refactorings that can be selected.

    refactor this popup

    Alternatively, you can use a keyboard shortcut for a specific refactoring.

    You can also make a multi-caret selection for an extended range of refactoring operations, including Encapsulate Fields, Move Static Members, Extract Delegate, Extract Interface, and Extract Superclass. To utilize this feature, place the caret in each member you want to apply the refactoring to, and the IDE will automatically preselect and check these members in the refactoring dialog.

If you need to undo your refactoring, press Ctrl+Z.

Preview refactoring changes

For some refactorings, RubyMine lets you preview the changes before applying them.

  1. Click Preview in the Refactoring Preview dialog to see potential changes (the list of usages where the refactoring will be performed).

  2. In the Find tool window that opens, check the changes that are going to be made. You can exclude Delete or remove Ctrl+X changes that you consider unnecessary.

    Refactoring Preview window
  3. Click Do Refactor to proceed with the changes.

Resolve conflicts

When RubyMine encounters problems with your refactoring, it opens a dialog with the list of conflicts and their brief descriptions.

  • Click Refactor Anyway to ignore the problem and proceed.

  • Click Open in Find Window to open the conflict entries in the Find tool window and deal with them further.

  • In the Find tool window, you can apply the refactor by selecting Do Refactor or click Cancel and return to the editor.

    Refactoring conflicts tool window

    Configure refactoring settings

    1. In the Settings dialog (Ctrl+Alt+S) , select Editor | Code Editing.

    2. On the Code Editing page, in the Refactorings section, adjust the refactoring options and click OK.

    Refactorings supported in RubyMine

    Rename Refactorings

    Refactor | Rename

    Shift+F6

    Move and Copy Refactorings

    Refactor | Move

    Refactor | Copy

    F6

    F5

    Introduce Variable

    Refactor | Extract | Variable

    Ctrl+Alt+V

    Extract Constant

    Refactor | Extract | Constant

    Ctrl+Alt+C

    Introduce Field

    Refactor | Extract | Field

    Ctrl+Alt+F

    Extract Parameter

    Refactor | Extract | Parameter

    Ctrl+Alt+P

    Extract Method

    Refactor | Extract | Method

    Ctrl+Alt+M

    Extract Superclass

    Refactor | Extract | Superclass

    Extract Module

    Refactor | Extract | Module

    Inline

    Refactor | Inline

    Ctrl+Alt+N

    Pull Members Up, Push Members Down

    Refactor | Pull Members Up

    Refactor | Push Members Down

    Safe Delete

    Refactor | Safe Delete

    Alt+Delete

    Extract Partial

    Refactor | Extract | Partial

    Extract Include File

    Refactor | Extract | Extract Include File

    Last modified: 12 November 2024