clangd-lsp
C/C++ 语言服务器 (clangd) 为 .c、.h、.cpp、.cc、.cxx、.hpp、.hxx 文件提供代码智能、诊断和格式化。在处理需要自动完成、转到定义、查找引用、错误检测或重构支持的 C 或 C++ 代码时使用。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~bowen31337-clangd-lspcURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~bowen31337-clangd-lsp/file -o bowen31337-clangd-lsp.md## 概述(中文) C/C++ 语言服务器 (clangd) 为 .c、.h、.cpp、.cc、.cxx、.hpp、.hxx 文件提供代码智能、诊断和格式化。在处理需要自动完成、转到定义、查找引用、错误检测或重构支持的 C 或 C++ 代码时使用。 ## 原文 # 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) ```bash brew install llvm # Add to PATH export PATH="/opt/homebrew/opt/llvm/bin:$PATH" ``` ### Via package manager (Linux) ```bash # Ubuntu/Debian sudo apt install clangd # Fedora sudo dnf install clang-tools-extra # Arch Linux sudo pacman -S clang ``` ### Windows ```bash winget install LLVM.LLVM ``` Or download from [LLVM releases](https://github.com/llvm/llvm-project/releases). Verify installation: ```bash clangd --version ``` ## Usage The language server runs automatically in LSP-compatible editors. For manual operations: ### Compile ```bash gcc file.c -o output # C g++ file.cpp -o output # C++ clang file.c -o output # with clang ``` ### Format code ```bash clang-format -i file.cpp ``` ### Static analysis ```bash clang-tidy file.cpp -- -std=c++17 ``` ## Configuration Create `.clangd` in project root: ```yaml CompileFlags: Add: [-std=c++17, -Wall, -Wextra] Remove: [-W*] Diagnostics: UnusedIncludes: Strict MissingIncludes: Strict ``` Or `compile_commands.json` for complex projects: ```bash 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:** ```bash clang-tidy file.cpp --checks='*' -- clang-tidy file.cpp --fix -- # Auto-fix ``` ## More Information - [clangd Website](https://clangd.llvm.org/) - [Getting Started Guide](https://clangd.llvm.org/installation) - [LLVM Project](https://llvm.org/)