Advanced Settings
Besides standard settings that you frequently use, CLion offers various advanced options that you can use to fine-tune the behavior of the specific product functionality.
Since the advanced settings consist of different sections, you can use the search field to quickly navigate to the section of interest or the needed option. You can also search for registry keys since some of advanced options have associated registry keys.
CMake
Use this section to configure additional options for CMake projects.
Use legacy generator for CMake 3.20 and higher | For CMake version 3.20 and higher, CLion uses CMake file API with Ninja generator by default. If you set this checkbox, the default generator will be Makefiles, and CLion will switch to CMake File API only if you specify a custom generator. For older versions, CMake File API is used for the case of custom generator only regardless of this option's state. The default generator is Makefiles. |
Do not trigger CMake reload on external changes if auto-reload is disabled | Select this option to completely disable automatic reload of CMake projects including external changes. See Load/reload CMake. |
Perform initial profile configuration when a project is opened for the first time | Clear this checkbox if you prefer CLion not to automatically configure and show a default CMake profile when you open a project for the first time. |
Clangd
Use this section to configure additional options for the Clangd engine.
Use global Clangd completion cache | Clean this checkbox if you prefer CLion not to use Clangd's global cache when performing code completion with Clangd. Disabling the completion cache can help reduce memory consumption and avoid unexpected crashes. |
Debugger
Maximum number of recent expressions |
Documentation Components
Basic syntax highlighting of inline code | |
Basic syntax highlighting of multiline code blocks | |
Syntax highlighting of links on code elements |
Editor
Use this section to configure additional options for working in the editor.
Don't copy/cut the current line when invoking the Copy or Cut action with no selection | This option lets you override the default behavior of copying Ctrl+C or cutting Ctrl+X the whole current line when nothing is selected in the editor. |
Render special characters, such as control codes, using their Unicode name abbreviations | When this option is selected, you can use the Unicode name abbreviations for special characters, such as control codes. |
Tab character rendering | You can select one of the following options:
|
Left margin in distraction free mode | This option lets you adjust the left editor margin in the distraction-free and zen viewing modes. By default, the editor text in these viewing modes is centered vertically and the text column width corresponds to the Hard wrap at option on the Editor | Code Style page of the IDE settings Ctrl+Alt+S. This means that if your code will be centered when formatted properly, but if there are long unwrapped lines, the text might go beyond the viewport while there is a large margin on the left. In such cases, you may want to decrease the left margin using this option. |
Force soft wrap in documents with lines longer than | The default number is |
Move caret down after Comment with Line Comment action | This option lets you configure whether to move the caret to the next line if you comment a line with a line commentCtrl+/. Note that if there is a selection in the editor, the caret will not move regardless of this option. |
Editor Tabs
Besides the standard editor tabs options that CLion offers when you work with tabs in the editor, this section contains extra options that are also available as internal registry actions.
When navigating to a file, prefer selecting existing tab in inactive split pane | When you navigate to a file that is already opened in the inactive split, use this option to activate the existing file in that split pane instead of opening a new copy of the file in the active split. |
Open declaration source in the same tab | When you navigate to a method, class or variable, the source file that contains their declaration will replace the current tab if there are no changes. |
Open declaration source called from a detached window in the main IDE window | When you navigate to a method, class, or variable from a detached window, CLion will open the source file containing the declaration in the main editor. |
Perform 'Hide All Tool Windows' / 'Restore Windows' with double-click on editor tab | When this option is enabled, you can double-click editor tabs to hide and restore all tool windows. Alternatively, you can do that by pressing Ctrl+Shift+F12 or by choosing from the main menu. |
Perform 'Maximize Editor' / 'Normalize Splits' with double-click on editor tab | When this option is enabled, you can double-click tabs in split editor tab groups to change relative size of the tab group: the first double-click will extend the tab and its group to the maximum and shrink all other groups to the minimum width/height; the second double-click will allocate the same width and height for each tab group. Alternatively, you can choose Find Action popup Ctrl+Shift+A. from the main menu or pick these actions from theThis option can work together with Perform 'Hide All Tool Windows' / 'Restore Windows' with double-click on editor tab, but be prepared to have multiple changes in the IDE layout every time you double-click a fie tab. |
Find / Replace
Use this section to configure extra options when working with Find and replace in project.
Maximum number of results to show in Find in Files/Show Usages preview | The default maximum number of results is |
IDE
Use this section to configure extra options on storing different entities of your project.
Maximum number of recent projects | Use this option to change the default number of stored recent projects, which is |
Maximum number of recent files | Use this option to change the default number of stored recent files, which is |
Maximum number of recent locations | Use this option to change the default number of stored recent locations, which is |
Temporary Run/Debug configurations limit | Use this option to change the default number of stored temporary run/debug configurations, which is |
Duration of storing changes in Local History | Use this option to specify the number of days for which you want to keep changes in the local history. |
Makefile
Use this section to configure additional options for Makefile projects.
Implicit Make output analyzer options | In this field, you can edit the Make output analyzer flags. For example, if you remove the |
Save Make output to log files... | Set this checkbox to collect the Make output logs. |
Use POSIX shell parser on MinGW toolchain (Windows) | If you are working on Windows with MinGW, you can set this checkbox to switch from Windows batch to the POSIX shell parser. |
Project View
Use this section to configure additional options for working in Project tool window.
Move focus to editor when Enter is pressed | When this option is selected, you can press Enter while in the Project view to switch focus to the editor. |
When collapsing a node, also collapse all expanded nodes under it | When this option is selected, CLion collapses subnodes as well as the parent node. |
Increase font size in Project view | Select this option if you want to change the size of font in the Project view. You need to restart CLion. |
Python
Pytest: swap actual/expected in diff | By default, CLion provides the |
Pytest: do not add "--no-header --no-summary -q | Use this checkbox to manage the test output generated by pytest. Select it to keep rendering the header and summary. |
Startup
Open README.md file if there are no open files on project startup | If you select this option, CLion will open a README.md file if there aren't any opened files when you start your project. |
Terminal
Terminal scrollback buffer size | Use this option to increase the buffer size in the terminal. |
Move focus to the editor with Escape | When this option is selected, you can use Escape to switch focus from the terminal to the editor. |
User Interface
Show file type icon in IDE frame header | On macOS, the icon can be used to drag a file to a different application. |
Cyclic scrolling in lists and trees | Select the last element when pressing Up on the first element, and vice versa. |
Position mouse cursor on default button in dialogs | When this option is selected, the mouse cursor is placed on the default button (usually it is OK) in a dialog. |
Disable double modifier key shortcuts | You can disable shortcuts where a double key is used. For example, Shift or Ctrl. |
Version Control
Open Diff as Editor Tab | When this option is selected, the difference viewer is displayed as the editor tab. |
Load file annotations from VCS when file is opened in editor | When this option is selected, CLion loads annotations when you open a file in the editor. |
Highlight ignored files | When this option is selected, CLion shows the list of ignored files from VCS and displays their status in the editor. |
Enable Commit tool window | When you select this option, CLion displays the Local Changes and Shelf tabs in a separate tool window. |
Toggle commit controls | When this option is selected, CLion hides the commit panel and checkboxes after the commit is performed and lets you toggle them in the Commit Changes dialog. |
Select all repositories with new commits for push | When this option is selected, CLion selects all commits that will be pushed by default. |
Version Control. Git
Recursively clone submodules in the project | When this option is selected, during the checkout from Git, |
Apply content transformation when reading from Git | When this option is selected, CLion will use the |
Use Safe Force Push | When this option is selected, CLion uses |
Check for incoming and outgoing commits | When this option is selected, CLion updates the information on the branches that have incoming or outgoing commits in the Branches popup. |
Use Windows certificate store | When this option is selected, it forces Git to use Windows certificate store to verify SSL connections. This works for Git 2.14 and later versions. |