Clangd is used in CLion as an additional C++ language engine (see C++ Standards Compliance). Use this dialog to enable/disable the entire Clangd server and configure particular settings.
Enable clangd server
This option enables/disables the entire Clangd engine. When you clear this checkbox, it disables all other Clangd options and also ClangFormat.
Show errors and warnings from clangd
Select this checkbox to turn on the Clangd warnings and errors, which will be shown in the editor instead of the CLion's code errors.
Use the field below the checkbox to specify the list of warnings from Clangd that you want to enable. The default set of warnings includes:
-Wno-unused-variable -Wno-shadow -Wshadow-field-in-constructor-modified -Wshadow-ivar -Wno-implicit-function-declaration -Wno-switch -Wno-parentheses -Wbitwise-op-parentheses -Wdangling-else -Wlogical-not-parentheses -Wlogical-op-parentheses -Woverloaded-shift-op-parentheses -Wparentheses-equality -Wshift-op-parentheses
Use clang-tidy via clangd
Select this checkbox to have clang-tidy working via Clangd. Enabling this option also turns on the following CLion inspections: Argument Selection Defects, Method Can be Static, and Empty Declaration or Statement.
Use navigation via clangd
When this checkbox is selected, the following navigation and search actions are performed via Clangd:
CLion's own language engine is used for the rest of navigation and search actions. Besides, the results of navigation via Clangd can be adjusted in some cases: for example, Clangd goes to the constructor not class declaration, when navigating from the constructor call.
Use code completions from clangd
With this option enabled, CLion employs both its own engine and Clangd to provide completion suggestions.
In the suggestion lists, you will see the results that came from two engines, merged and picked by the time they arrived: the first result comes from the fastest provider.