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 the advanced options have associated registry keys.
CLion
Item | Description |
---|---|
Use the ReSharper C++ language engine (CLion Nova) | Set this checkbox to switch to CLion Nova. |
CMake
Use this section to configure additional options for CMake projects.
Item | Description |
---|---|
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. |
Reload CMake profiles sequentially | Select this option if you want CLion to reload CMake profiles one after another. By default, CMake profiles are reloaded in parallel, but sometimes it may cause issues when reloading CMake. Use this option to resolve such issues. |
Automatically import CMake Presets | By default, CLion automatically imports the detected configure and build presets into CMake profiles. Use the switcher to change this behavior: ![]()
|
Use floating toolbar to notify that CMake project needs to be reloaded | By default, when you make changes in CMakeLists.txt, CLion shows a floating notification indicating that the project needs to be reloaded. You can disable the floating notification by clearing this checkbox. For more information, refer to Reload CMake on changes in CMakeLists.txt. |
Use DAP protocol in CMake debugger | This option is enabled by default. For debugging in CMake version 3.27 and later, CLion uses the Debug Adapter Protocol (DAP). Clear this checkbox to switch to the implementation based on the CMake script debugger from Sysprogs. |
Pass Python interpreter to CMake | This option enables Python integration with CMake for all projects. Enabled by default. |
Clangd
Use this section to configure additional options for the Clangd engine.
Item | Description |
---|---|
Use Clang-based indexer | Set this checkbox to enable Cland indexer for Find Usages. |
Keep obsolete ASTs in clangd | With this option enabled, obsolete ASTs are not deleted immediately, which helps speed up navigation. |
Bookmarks
Item | Description |
---|---|
Show only line bookmarks in popup | By default, CLion shows only line bookmarks in the bookmarks popup (Shift+F11 or Bookmarks. ). Disable this option if you want to see other bookmarked items in the popup, for example, files or folders. For more information, refer to |
Build Tools. Gradle
Item | Description |
---|---|
Download sources | By default, CLion doesn't download sources for the project dependencies on the initial project sync. Select this option to change the project's behaviour and always download sources for dependencies during the importing process. |
Database
Item | Description |
---|---|
Open file as table if detected by scripted loader | For the files of formats supported by scripted data loaders. Defines which files CLion opens in a table view.
|
Use old Import dialog | Enables the old UI of Import dialog instead of the current one. |
Related Rows action behavior | Defines what the Related Rows action does when invoked in the table cell's floating toolbar or context menu.
|
Show Database tab in Search Everywhere | Enables the Database tab in Search Everywhere (double Shift). For more information about the Search everywhere feature, refer to Search everywhere. |
Debugger
Item | Description |
---|---|
Maximum number of recent expressions | Specify the number of expressions to be saved in history. This includes various fields like Evaluate expression and Goto address in disassembly/memory view. |
Show inlay Run to Cursor popup | With this option enabled, you can hover over the line of code to which you wish to continue execution and then utilize the Run to Cursor popup to execute your code until it reaches the line where your cursor is placed. |
Keep the process suspended after attaching | With this option enabled, the process you attach to will stay suspended. |
Prepare GDB indexes for debug session | Set this checkbox if you experience performance issues with GDB. With this option enabled, CLion prepares indexes for GDB before the debug session. On the first launch after enabling the option, only the executable is indexed. After that, CLion detects the loaded libraries and indexes them for subsequent debug sessions in addition to the executable. This means that the first debug session with indexes enabled might still be slow, but subsequent ones should be faster. The option works on Linux machines for executables launched from the IDE. |
Dev Containers
Item | Description |
---|---|
Clone sources with --depth=1 | Use this option to speed up your project cloning process by checking out the latest version of the source code. For more information, refer to Git documentation. |
Docker
Item | Description |
---|---|
Connect to Docker automatically at restart | Connect to the configured Docker daemon after CLion starts. |
Image registry entities loading limit | For performance reasons, by default, CLion shows only the first 100 images in a Docker registry. Increase this number if you need to list more. This will also increase the memory usage. |
The log tab should be the first tab for the docker container | Show the Log tab as the first tab in the container overview pane. |
The delay between periodic Docker status checks for automatic reconnection | How often should CLion check the status of connection to Docker in milliseconds. |
Apply :z mount option to almost any bind volume for SELinux systems | Add |
Editor
Use this section to configure additional options for working in the editor.
Item | Description |
---|---|
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. |
Don't select the copied line after invoking the Copy action with no selection | By default, when you use Ctrl+C without selecting anything, the whole line gets copied. With this action, you can avoid that selection. |
When pasting a line copied with no selection | You can change the default Paste above the caret line behavior, and select either Paste at the caret line that restores the old Copy / Paste behavior or Trim if pasted middle line that will remove the unnecessary spaces before and after the copied line if it is pasted in the middle of the line. |
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. |
Show zoom indicator | Use this option to see an indicator that shows the current font size and the option to revert it back to default while zooming your code in or out in the editor. |
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 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. |
Line number's font delta | Use this option to change the font size of the line numbers in the left gutter comparing to the font size in the editor. |
Force soft wrap in documents with lines longer than | The default number is |
Select whitespace characters with 'Extend Selection' | Use this option to include whitespaces when you invoke the Extend Selection action. |
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 comment Ctrl+/. 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.
Item | Description |
---|---|
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. |
Equalize proportions in nested splits | Use this option to even the size of multiple horizontal or vertical splits in the editor. |
Keep pinned tabs on the left | Always move pinned tabs to the left side of the editor tabs bar. Otherwise, the location of pinned tabs is not defined, and you can move them on the tab bar as necessary. |
Environment files
Use this section to configure extra options for initializing toolchain environment via a script.
Item | Description |
---|---|
Fallback shell for sourcing the environment | On Linux (local or remote), WSL, and Docker, CLion invokes |
Maximum time in milliseconds to read environment file | Limits the time during which CLion will attempt to load the specified environment file before reporting error. |
Cache environment from environment file based on file modified timestamps | Enables caching of the environment state |
Find / Replace
Use this section to configure extra options when working with Find and replace in project.
Item | Description |
---|---|
Enable similar usages clustering in Find Usages view | CLion analyzes search results, detects the most common usage patterns, and categorizes all found usages into groups based on their structural similarity. These usage clusters appear in the Preview tab. For more information, refer to Search for usages in a 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.
Item | Description |
---|---|
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 |
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. |
Markdown
Item | Description |
---|---|
Hide floating toolbar | When you select some text in a Markdown file, CLion shows a floating toolbar with various formatting options. Select this checkbox if you don't want to see the floating toolbar, then reopen the tab to apply the changes. |
Squash multiple dashes in header anchors | Convert two or more dashes to one in anchors generated from chapter headers. |
Makefile
Use this section to configure additional options for Makefile projects.
Item | Description |
---|---|
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. |
Project View
Use this section to configure additional options for working in Project tool window.
Item | Description |
---|---|
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. |
When navigating to a library class, do not select it in the project tree | Do not automatically navigate to library files in the Project tool window even if the Always Select Opened File option is enabled. You can navigate to library files in the tool window manually: use the Select Opened File |
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
Item | Description |
---|---|
Swap the order of actual and expected assertions in Pytest | 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. |
Run/debug
Item | Description |
---|---|
Temporary configurations limit | Use this option to change the default number of stored temporary run/debug configurations, which is |
Confirm rerun with process termination | When you call rerun for a running process, CLion prompts you to confirm the action of terminating the existing process and launching a new one. You can change the default behavior by clearing this checkbox. |
Make configurations pinned by default | Select this option to automatically pin tabs that open in the Run tool window after you run configurations. |
Generate configurations for new CMake/Makefile targets automatically | When you add new targets and reload your CMake or Makefile project, CLion automatically creates the corresponding CMake Application or Native Application configurations. |
Delete configurations for missing CMake/Makefile targets automatically | When you delete targets and reload your CMake or Makefile project, CLion automatically deletes the corresponding CMake Application or Native Application configurations. |
Maximum number of recent run configurations in the new UI | Specify the number of recent run/debug configurations that will be displayed in the Run widget. |
SSH
Item | Description |
---|---|
Configuration files parser | Select a parser:
|
Custom path to an OpenSSH tool | Specify the path to OpenSSH if you have selected the OpenSSH parser. |
Search Everywhere
Item | Description |
---|---|
Show text search results in Search Everywhere | Enable text search in Search Everywhere. Results will be displayed on the new Text tab and on the All tab at the bottom of the list. |
Wait for all contributors to finish before showing results | Wait for all search contributors to finish their jobs before showing the final search results. This option fixes the position of an item in search results, preventing it from jumping in the list. In case there are slow search contributors, this option might slow down the operation of Search Everywhere. In the Contributors waiting timeout (ms) field, specify how much time to wait for search contributors to finish their jobs. |
Sort results in the Actions tab based on machine learning | By default, the search results on the Actions tab are sorted using machine learning instead of the standard ranking mechanism. |
Sort results in the Files tab based on machine learning | By default, the search results on the Files tab are sorted using machine learning instead of the standard ranking mechanism. |
Sort results in the All tab based on machine learning | Sort search results on the All tab using machine learning instead of standard ranking mechanism. |
Enable semantic search in the Actions tab | Select this option if you want CLion to use semantic search (a technique that analyzes the intent and contextual meaning behind a search query) in the Actions tab, delivering more relevant results. |
Enable semantic search in the Files tab | Select this option if you want CLion to use semantic search (a technique that analyzes the intent and contextual meaning behind a search query) in the Files tab, delivering more relevant results. |
Enable semantic search in the Symbols tab | Select this option if you want CLion to use semantic search (a technique that analyzes the intent and contextual meaning behind a search query) in the Symbols tab, delivering more relevant results. |
Enable semantic search in the Classes tab | Select this option if you want CLion to use semantic search (a technique that analyzes the intent and contextual meaning behind a search query) in the Classes tab, delivering more relevant results. |
Search Scope in Find, Replace, Rename
Item | Description |
---|---|
Keep last selected search scope | Select this option to quickly look up the history of the search scope. |
Startup
Item | Description |
---|---|
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
Configure advanced settings related to working with the embedded terminal emulator.
Item | Description |
---|---|
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. |
Typeahead | Enable typeahead in the terminal, which can be useful for remote connections when you expect the typing latency. |
Typeahead latency threshold | Turn typeahead on when the terminal latency exceeds the specified value (in milliseconds). |
Use 1.0 line spacing for alternative screen buffer | Terminal applications that use alternate screen buffers may have their own visual style. This setting maintains using 1.0 line-spacing in the alternate screen buffer mode of the terminal. The new terminal always uses 1.0-line spacing and this cannot be disabled. |
Fill character background including line spacing | If the line spacing value in the alternate screen buffer mode exceeds 1.0, white horizontal gaps might appear between lines. Select this checkbox to fill in these gaps. |
Show application title | Name terminal tabs automatically based on the commands that you run. |
Terminal character encoding | Specify encoding for the terminal. |
New terminal output capacity | Buffer size of the new terminal. |
Tests Indexing Task
Item | Description |
---|---|
Show indexing of tests as background task | You can monitor and pause/cancel test indexing as any other background task in the Progress bar. This option is enabled by default. |
Show tests indexing as a background task after a specified timeout in milliseconds | This option sets the amount time after which test indexing will appear in the Progress bar as a background task. |
Tool Windows
Item | Description |
---|---|
Always show tool window header icons in the new UI | By default, the icons in tool window headers (for example, Enable the option to display tool window header icons all the time. |
Allow dragging tool windows by header to move to another location | Move tool windows by dragging the header. When the option is disabled, you can move tool windows by dragging tool window bars, using the Move to context menu option or the tool window settings located under the |
User Interface
Item | Description |
---|---|
Show file type icon in IDE frame header | On macOS, the icon can be used to drag a file to a different application. |
Use words instead of symbols for macOS keyboard shortcuts | Select this option if you want to see shortcuts with words instead of symbols. |
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 pointer 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
Item | Description |
---|---|
Open Diff as Editor Tab | When this option is selected, the Diff 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
Item | Description |
---|---|
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. |
WSL toolchain
Item | Description |
---|---|
Execute commands in login (-l) shell | With this option enabled, CLion executes WSL commands in login shell. This is helpful when you need to source environment variables from files like .bashrc or .profile. |