IntelliJ IDEA 2021.1 Help

Code refactoring

Refactoring is a process of improving your source code without creating a new functionality. Refactoring helps you keep your code solid, dry, 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.

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

Preview refactoring changes

For some refactorings, IntelliJ IDEA lets you preview changes before applying them.

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

    Refactoring dialog
  2. Check the changes that are going to be made in the Find tool window. 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 IntelliJ IDEA encounters problems with your refactoring, it opens a dialog with the list of conflicts and their brief descriptions.

Refactoring confilicts dialog
  • Click Continue to ignore the problem and proceed to open the preview in the Find tool window.

  • Click Show Conflicts in View to open the conflict entries in the Find tool window and deal with them further.

    For example, you can try to exclude an entry from refactoring by pressing Delete or click Cancel and return to the editor.

    Refactoring conflicts tool window

    Configure refactoring settings

    1. In the Settings/Preferences 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.

    Safe DeleteAlt+DeleteMakes sure that you do not delete files that are referenced in your source code.Safe delete
    Copy/MoveF5/ F6Copies/Moves an element.Move Refactorings
    Extract MethodCtrl+Alt+MThese refactoring actions help you reduce the code duplication.Extract method
    Extract ConstantCtrl+Alt+CExtract constant
    Extract FieldCtrl+Alt+FExtract field
    Extract ParameterCtrl+Alt+PExtract Parameter
    Introduce VariableCtrl+Alt+VExtract/Introduce variable
    RenameShift+F6Renames an element.Rename refactorings
    InlineCtrl+Alt+NInlines an element. Acts as opposite of extracting.Inline
    Change signatureCtrl+F6Changes the call signature of a method or class.Change signature
    Last modified: 27 May 2021