Skills clangd-lsp

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.

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bowen31337/clangd-lsp" ~/.claude/skills/openclaw-skills-clangd-lsp && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bowen31337/clangd-lsp" ~/.openclaw/skills/openclaw-skills-clangd-lsp && rm -rf "$T"
manifest: skills/bowen31337/clangd-lsp/SKILL.md
source content

clangd LSP

C/C++ language server integration providing comprehensive code intelligence through clangd (part of LLVM).

Capabilities

  • Code intelligence: Autocomplete, go-to-definition, find references
  • Error detection: Real-time diagnostics for compilation errors
  • Formatting: Code formatting with clang-format
  • Refactoring: Rename symbols, extract function
  • Supported extensions:
    .c
    ,
    .h
    ,
    .cpp
    ,
    .cc
    ,
    .cxx
    ,
    .hpp
    ,
    .hxx
    ,
    .C
    ,
    .H

Installation

Via Homebrew (macOS)

brew install llvm
# Add to PATH
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"

Via package manager (Linux)

# Ubuntu/Debian
sudo apt install clangd

# Fedora
sudo dnf install clang-tools-extra

# Arch Linux
sudo pacman -S clang

Windows

winget install LLVM.LLVM

Or download from LLVM releases.

Verify installation:

clangd --version

Usage

The language server runs automatically in LSP-compatible editors. For manual operations:

Compile

gcc file.c -o output      # C
g++ file.cpp -o output    # C++
clang file.c -o output    # with clang

Format code

clang-format -i file.cpp

Static analysis

clang-tidy file.cpp -- -std=c++17

Configuration

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

Integration Pattern

When editing C/C++ code:

  1. clangd uses
    compile_commands.json
    for project understanding
  2. Run
    clang-format
    to format code
  3. Use
    clang-tidy
    for static analysis
  4. Compile with warnings enabled (
    -Wall -Wextra
    )

Common Flags

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 path

clang-tidy checks:

clang-tidy file.cpp --checks='*' --
clang-tidy file.cpp --fix --  # Auto-fix

More Information