RubyMine offers a wide variety of code refactorings, which track down and correct the affected code references automatically.
In this part you will find:
Select a symbol or code fragment to refactor. The set of available refactorings depends
on your selection. You can select symbols in the following RubyMine components:
- Project view
- Structure tool window
- Rails view
- Model Dependency diagram
- UML Class diagram
Do one of the following:
- On the main menu or on the context menu of the selection, choose the desired refactoring or press the corresponding keyboard shortcut (if any).
- On the main menu, choose Ctrl+Shift+Alt+TCtrl+Shift+Alt+TCtrl+Shift+Alt+TCtrl+Shift+Alt+TCtrl+Shift+Alt+TCtrl+Shift+Alt+TCtrl+Shift+Alt+TCtrl+Shift+Alt+TShift+Alt+Meta+TControl TShift Alt Command TControl TShift Alt Command T, and then select the desired refactoring from the pop-up window. , or press
- In the dialog box that opens, specify the refactoring options.
- To apply the changes immediately, depending on the refactoring type, click Refactor or OK.
For certain refactorings, there is an option of previewing the changes prior to
actually performing the refactoring. In such cases the
buttons is available in the corresponding dialog.
To preview the potential changes and make the necessary adjustments, click Preview. RubyMine displays the changes that are going to be made on a dedicated tab of the Find tool window.
One of the possible actions at this step is to exclude certain entries from the refactoring. To do so, select the desired entry in the list and press DeleteDeleteDeleteDeleteDelete or Ctrl+DDeleteDeleteDeleteDelete or Meta+BackspaceDelete or BackspaceDeleteDelete or BackspaceDelete or Command Backspace.
If conflicts are expected after the refactoring, RubyMine displays a dialog with a brief description of the encountered problems. If this is the case, do one of the following:
- Ignore the conflicts by clicking the Continue button. As a result, the refactoring will be performed, however, this may lead to erroneous results.
- Preview the conflicts by clicking the Show in View button. RubyMine shows all conflicting entries on the Conflicts tab in the Find tool window, enabling you to navigate to the problematic lines of code and to make the necessary fixes.
- Cancel the refactoring and return to the editor.
- When you are satisfied with the proposed results, click Do Refactor to apply the changes.
RubyMine provides the following common refactorings:
- Extract Constant
- Extract Field
- Extract Method
- Extract Module
- Extract Parameter
- Extract Partial
- Extract Superclass
- Extract Variable
- Move Refactorings
- Pull Members up
- Push Members down
- Rename Refactorings
- Safe Delete
The following language-specific refactorings are available: