Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Kylin ClangdNew to Visual Studio Code? Get it now.
Kylin Clangd

Kylin Clangd

Kylin-IDE Team

|
6,142 installs
| (2) | Free
Fork of clangd, add schema validation for .clangd, .clang-format, .clang-tidy files
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Kylin Clangd

This is a fork of the vscode-clangd extension, aimed at making clangd work better with the CMake Tools. It is recommended to install the extension pack KylinIdeTeam.kylin-cpp-pack, This extension can obtain the compilation database directory from the CMake Tools extension within the pack, allowing clangd to work better.

Note: For linux-x64, linux-arm64, and win32-x64 platforms, this extension comes with a built-in clangd language server. You do not need to install clangd separately.

Full documentation for clangd is at clangd.llvm.org.

Changes made to the original vscode-clangd extension

  • Obtain the compilation database directory from cmake tools extension

  • Add some settings to control the clangd server more flexibly.

    • clangd.headerInsertion: set to iwyu to insert include-what-you-use header, set to never to disable header insertion.
    • clangd.enableClangTidyDiagnostic: enable clang-tidy diagnostics. enable this option will create a .clang-tidy file in workspace
    • clangd.useBuiltInClangdIfAvailable: default to true, set to false to use the clangd server specified by clangd.path instead of the built-in one. This is useful if you want to use a newer version of clangd than the one provided by this extension.
  • Add a command clangd.createClangdConfigFile to create three files: .clangd, .clang-tidy, and .clang-format in the workspace folder. These files have default configurations that can be modified as needed. You can input Create clangd configuration file in the command palette to execute this command.

  • Add auto completion, schema validation for .clangd, .clang-tidy and .clang-format files (You must have extension redhat.vscode-yaml installed to enable schema validation).

    • .clangd file is used to configure the clangd server, see clangd configuration for more information.
    • .clang-tidy file is used to control the clang-tidy diagnostics, see clang-tidy documentation for more information.
    • .clang-format file is used to control the code formatting, see clang-format documentation for more information.

Feedback

Please report bugs or feature requests for this extension at Kylin Clangd OpenKylin Repository.

Requirements

  • On linux-x64, linux-arm64, and win32-x64, clangd is built-in and no additional installation is required.
  • On other platforms, please install clangd manually (the newer the better). The extension requires clangd 9 or later. .clangd file support requires clangd 11 or later.
  • Please install the extension redhat.vscode-yaml to enable schema validation for .clangd, .clang-format, and .clang-tidy files.

Project setup

clangd is based on the clang C++ compiler, and understands even complex C++ code. However, you must tell clangd how your project is built (compile flags). A compile_commands.json file can usually be generated by your build system (e.g. with CMake, by setting -DCMAKE_EXPORT_COMPILE_COMMANDS=1).

See Project Setup in the clangd documentation for details and alternatives.

Features

Auto completion, schema validation for .clangd, .clang-tidy and .clang-format files

Suggestions will appear as you type in these files, you can also press ctrl + space to bring up the suggestion list.

Configura file support

Code completion

Suggestions will appear as you type names, or after . or ->. Because clangd uses a full C++ parser, code completion has access to precise type information.

Code completion

Errors, warnings, and clang-tidy

Code errors are shown as you type (both as red squiggle underlines, and in the "Problems" panel). These are the same as produced by the clang compiler, and suggested fixes can automatically be applied.

Error with fix

Most clang-tidy checks are supported (these can be enabled using a .clang-tidy file).

Cross-references

Go-to-definition and find-references work across your code, using a project-wide index.

Cross-reference list

Press Ctrl-P # to quickly navigate to a symbol by name.

Hover and inlay hints

Clangd can describe almost any entity if you hover the mouse (or press Ctrl-KI).

Hover and inlay hints

Inlay hints for parameters and deduced types can be shown temporarily or permanently (the editor.inlayHints.enabled setting controls this).

Include management

Code completion works across your codebase and adds #include directives where needed. The • shows includes that will be inserted.

clangd can suggest inserting missing #includes, where they cause errors. It can warn on unused includes.

Fix inserts include

Formatting

clangd uses the clang-format engine. You can format a file or the selection. When "Format on Type" is enabled in the settings, pressing enter will cause clangd to format the old line and semantically reindent.

Format-on-type

The style used for formatting (and certain other operations) is controlled by the project's .clang-format file.

Refactoring

clangd supports some local refactorings. When you select an expression or declaration, the lightbulb menu appears and you can choose a code action.

Extract variable code action

Current refactorings include:

  • extract variable/function
  • expand auto types and macros
  • use raw strings
  • rename (bound to <F2>, rather than a contextual code action)
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft