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
Select an item to refactor. You can select a file/folder in the Project tool window or expression/symbol in the editor.
Press Ctrl+Alt+Shift+T to open the list of refactorings:
Undo refactoring
Press Ctrl+Z.
Preview changes
For some refactorings, you can preview changes before applying them.
Click Preview in the Refactoring Preview dialog:
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.
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 cl_refactoring_conflicts_dialog.png](https://resources.jetbrains.com/help/img/idea/2024.2/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.
Configure refactoring settings
In the Settings dialog (Ctrl+Alt+S) , select .
On the Code Editing page, in the Refactorings section, adjust the refactoring options and click OK.
The most popular refactorings supported in CLion
Safe Delete | Alt+Delete | Makes sure that you do not delete files that are referenced in your source code. | |
Copy/Move | F5/F6 | Copies/Moves an element. | |
Extract Method | Ctrl+Alt+M | These refactoring actions help you reduce the code duplication. | |
Extract Constant | Ctrl+Alt+C | Declares a new constant and initializes it with the selected expression. | |
Extract Parameter | Ctrl+Alt+P | Adds a new parameter to a method declaration and updates the Function calls accordingly. | |
Introduce Variable | Ctrl+Alt+V | Declares a new variable and initializes it with the selected expression. | |
Rename | Shift+F6 | Renames an element. | |
Inline | Ctrl+Alt+N | Inlines an element. Acts as the opposite of extracting. | |
Change signature | Ctrl+F6 | Changes the call signature of a method or class. |