24 lines
1.1 KiB
Markdown
24 lines
1.1 KiB
Markdown
# 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 补全/跳转不稳定。
|