CLion 2023.3 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 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.

    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: 11 February 2024