CLion 2024.1 Help

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 the list of refactorings:

    Refactor This popup

Undo refactoring

  • Press Ctrl+Z.

Preview changes

For some refactorings, you can preview changes before applying them.

  1. 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 CLion encounters problems with your refactoring, it opens a dialog with the list of conflicts and their brief descriptions.

cl_refactoring_conflicts_dialog.png
  • 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.

    cl_refactoring_conflicts_toolwindow.png

    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.

    Safe Delete

    Alt+Delete

    Makes sure that you do not delete files that are referenced in your source code.

    Safe delete

    Copy/Move

    F5/F6

    Copies/Moves an element.

    Move and Copy

    Extract Method

    Ctrl+Alt+M

    These refactoring actions help you reduce the code duplication.

    Extract function

    Extract Constant

    Ctrl+Alt+C

    Declares a new constant and initializes it with the selected expression.

    Extract constant

    Extract Parameter

    Ctrl+Alt+P

    Adds a new parameter to a method declaration and updates the Function calls accordingly.

    Extract parameter

    Introduce Variable

    Ctrl+Alt+V

    Declares a new variable and initializes it with the selected expression.

    Extract/Introduce variable

    Rename

    Shift+F6

    Renames an element.

    Rename

    Inline

    Ctrl+Alt+N

    Inlines an element. Acts as the opposite of extracting.

    Inline

    Change signature

    Ctrl+F6

    Changes the call signature of a method or class.

    Change signature

    Last modified: 18 July 2024