cd ..
Comment bien config son LSP en C++ (clangd)
Comment bien config son LSP en C++ (clangd)

Comment bien config son LSP en C++ (clangd)

2026-02-20

Bienvenue enfin dans le merveilleux monde de C++ ✨

Pour autant, il s'agit d'un langage complexe où faire des erreurs de programmation est bien plus facile qu'en C.

Dans cet article, vous apprendrez à utiliser un LSP afin d'avoir un meilleur feedback lors de l'écriture de code C++. Plus précisément, comment installer et configurer clangd, un LSP populaire pour C++.

Nous utiliserons VSCode comme IDE, mais NeoVim et CLion marchent aussi.

Meme

L'installation

Si vous êtes sur Windows, je vous conseille d'utiliser WSL2. Pour cela, vous pouvez ouvrir PowerShell en mode admin, et faire wsl --install -d Ubuntu-22.04 (ou une autre distro Linux).

Pour cela, vous pouvez ouvrir un fichier .cc / .cpp dans VSCode, et il vous proposera d'installer clangd. Sur Windows, préférez ouvrir VSCode dans WSL2, et ouvrir un fichier .cc / .cpp à l'intérieur de WSL2.

vscode clangd asking for auto install

Sinon vous pouvez aussi l'installer manuellement et bien penser à définir le path de clangd dans les settings de VSCode si besoin.

La configuration

Si vous utilisez l'exension C/C++ Microsoft, désactivez son intellisense et préférez celui de clangd.

vscode clangd asking for intellisense

Et that's it pour les programes single-file

Vous avez maintenant erreurs, warnings, type-hints … la fin du color-only programming 🔥

clangd sur un fichier seul

Mais qu'en est il pour les projets multi-file ? ou les projets de grande taille avec masse librairies ?

compiledb

clangd n'arrivera généralement pas à déduire les liens avec les autres fichiers locaux de lui même. Il pourra cependant lire le fichier compile_commands.json pour comprendre comment compiler votre projet, et ainsi faire le lien entre les différents fichiers.

Pour cela, nous utiliserons compiledb qui génèrera ce fichier à partir des logs des Makefile.

Installation de compiledb

  • Installez python3 et pip3 si ce n'est pas déjà fait, c'est à dire sudo apt install python3 python3-pip sur Ubuntu.
  • Installez compiledb avec pip3 install compiledb, soit globalement, soit dans un venv (mieux).

Génération du compile_commands.json

  • Ajoutez compiledb avant votre commande de make, par exemple compiledb make.
  • clangd devrait détecter automatiquement le fichier compile_commands.json et l'utiliser pour faire le lien entre les différents fichiers de votre projet.

clangd-compilecommands

Et that's it ! Vous êtes maintenant prêt à faire des projets de grande taille tels que des compilateurs 🐅

export LANG=