tree: 0d51ddb370cec135b8087173f4b85984370c4c29 [path history] [tgz]
  1. .vscode/
  2. src/
  3. test/
  4. .vscodeignore
  6. package.json
  8. tsconfig.json


Provides C/C++ language IDE features for VS Code using clangd.


vscode-clangd provides the features designated by the Language Server Protocol, such as code completion, code formatting and goto definition.

Note: clangd is under heavy development, not all LSP features are implemented. See Current Status for details.

To use vscode-clangd extension in VS Code, you need to install vscode-clangd from VS Code extension marketplace.

vscode-clangd will attempt to find the clangd binary on your PATH. Alternatively, the clangd executable can be specified in your VS Code settings.json file:

    "clangd.path": "/absolute/path/to/clangd"

To obtain clangd binary, please see the installing Clangd.


A guide of developing vscode-clangd extension.


  • VS Code
  • node.js and npm


  1. Make sure you disable the installed vscode-clangd extension in VS Code.
  2. Make sure you have clangd in /usr/bin/clangd or edit src/extension.ts to point to the binary.
  3. In order to start a development instance of VS code extended with this, run:
   $ cd /path/to/clang-tools-extra/clangd/clients/clangd-vscode/
   $ npm install
   $ code .
   # When VS Code starts, press <F5>.

Publish to VS Code Marketplace

New changes to clangd-vscode are not released until a new version is published to the marketplace.


  • Make sure install the vsce command (npm install -g vsce)
  • llvm-vs-code-extensions account
  • Bump the version in package.json, and commit the change to upstream

The extension is published under llvm-vs-code-extensions account, which is currently maintained by clangd developers. If you want to make a new release, please contact


  $ cd /path/to/clang-tools-extra/clangd/clients/clangd-vscode/
  # For the first time, you need to login in the account. vsce will ask you for
    the Personal Access Token, and remember it for future commands.
  $ vsce login llvm-vs-code-extensions
  $ vsce publish