C/C++ language server (clangd) providing code intelligence, diagnostics, and formatting for .c, .h, .cpp, .cc, .cxx, .hpp, .hxx files. Use when working with C or C++ code that needs autocomplete, go-to-definition, find references, error detection, or refactoring support.
C/C++ language server integration providing comprehensive code intelligence through clangd (part of LLVM).
.c, .h, .cpp, .cc, .cxx, .hpp, .hxx, .C, .Hbrew install llvm
# Add to PATH
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
# Ubuntu/Debian
sudo apt install clangd
# Fedora
sudo dnf install clang-tools-extra
# Arch Linux
sudo pacman -S clang
winget install LLVM.LLVM
Or download from LLVM releases.
Verify installation:
clangd --version
The language server runs automatically in LSP-compatible editors. For manual operations:
gcc file.c -o output # C
g++ file.cpp -o output # C++
clang file.c -o output # with clang
clang-format -i file.cpp
clang-tidy file.cpp -- -std=c++17
Create .clangd in project root:
CompileFlags:
Add: [-std=c++17, -Wall, -Wextra]
Remove: [-W*]
Diagnostics:
UnusedIncludes: Strict
MissingIncludes: Strict
Or compile_commands.json for complex projects:
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .
# or
bear -- make
When editing C/C++ code:
compile_commands.json for project understandingclang-format to format codeclang-tidy for static analysis-Wall -Wextra)Compile flags:
-std=c++17 - C++17 standard-Wall -Wextra - Enable warnings-O2 - Optimization level-g - Debug symbols-I<path> - Include path-L<path> - Library pathclang-tidy checks:
clang-tidy file.cpp --checks='*' --
clang-tidy file.cpp --fix -- # Auto-fix