Clangd

Clangd is an implementation of the Language Server Protocol leveraging Clang.
Clangd’s goal is to provide language “smartness” features like code completion,
find references, etc. for clients such as C/C++ Editors.

Clangd is not meant to be used by C/C++ developers directly but
rather from a client implementing the protocol. A client would be typically
implemented in an IDE or an editor.

At the moment, Visual Studio Code is mainly
used in order to test Clangd but more clients are likely to make
use of Clangd in the future as it matures and becomes a production
quality tool. If you are interested in trying Clangd in combination
with Visual Studio Code, you can start by building Clangd, then open Visual
Studio Code in the clangd-vscode folder and launch the extension.

Many features could be implemented in Clangd.
Here is a list of features that could be useful with the status of whether or
not they are already implemented in Clangd and specified in the
Language Server Protocol. Note that for some of the features, it is not clear
whether or not they should be part of the Language Server Protocol, so those
features might be eventually developed outside Clangd.