CLion 2020.1 Help

Clangd

File | Settings | Languages and Frameworks | C/C++ | Clangd for Windows and Linux
CLion | Preferences | Languages and Frameworks | C/C++ | Clangd for macOS
Ctrl+Alt+S the Settings/Preferences icon

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.

Clangd settings

Item

Description

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, Empty declaration or statement, Virtual call from a constructor or destructor.

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.

Code completion

Clangd completion options
  • Only Clangd completion (default)

    By default, code completion is fully provided by Clangd. CLion still uses the build-in engine to complete symbols for non-included files if Clangd-based completion fails to provide anything. In the case of a crash or another serious issue, CLion switches to the built-in engine as well.

  • Clangd completion merged with builtin

    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.

  • Disable Clangd completion

    Use this option if you want CLion to suggest only the results from the built-in engine.

Last modified: 27 May 2020