# clangd 补全配置(`.clangd`) 本章节提供 `clangd` 的推荐配置模板与落地要点(参考 `tsl-devkit/lsp-server/.clangd`)。 ## 1. 目标 - 让 IDE/编辑器的 C++ 补全、跳转、诊断稳定可复现。 - 优先依赖 `compile_commands.json`(由 CMake 生成),避免手写复杂编译参数。 ## 2. 必要前提:生成 `compile_commands.json` - CMake:建议开启 `CMAKE_EXPORT_COMPILE_COMMANDS=ON`(本 Playbook 的 `templates/cpp/CMakeLists.txt` 已开启)。 - 使用 preset 构建后,在对应 build 目录会生成 `compile_commands.json`: - 例如:`build/windows-x86_64-clang-cross/Release/compile_commands.json` ## 3. `.clangd` 模板 - 模板文件:`templates/cpp/.clangd` - 关键字段:`CompileFlags.CompilationDatabase` 指向 build 目录(包含 `compile_commands.json` 的目录)。 ## 4. Modules 注意事项(C++23) - 若新增/删除/重命名 `.cppm`,必须同步更新构建系统的模块清单(例如 CMake `FILE_SET CXX_MODULES`),否则 `compile_commands.json` 可能缺项,导致 clangd 补全/跳转不稳定。