Files
tsl-devkit/docs/cpp/clangd.md
T
csh ac794a6a70 Squashed 'docs/standards/playbook/' changes from e504a68..b529012
b529012  test(tests): avoid hardcoded missing path
07583c8 🐛 fix(tests): make doc link check awk-portable
6244aa3 🔧 chore(ci): relax gitattributes check
31dd0c5 🐛 fix(scripts): require existing project root
15d4d63 🔧 chore(ci): install python3-pip
90c6313 🔧 chore(ci): run tests in a single job
d84eff0 🔧 chore(ci): make actions base url configurable
395598d 🔧 chore(ci): fix yaml step names
4ae2733  feat(sync_standards): auto-detect existing languages
e97fb00  feat(sync_standards): default gitattributes to append
da0ef2b  test: add automated tests and ci workflow
99bef30 🎨 style(markdown): format all markdown files with prettier
7e96bc8 ♻️ refactor(tsl): split function.md into 44 modular files
0d6b2a0 📝 docs(readme): add quick decision table and TL;DR for distribution methods
3b2188f 🎨 style(markdown): format markdown files with prettier
41fc43b 📝 docs(tsl): document {Unit.}Type source annotation
3dceaf7 📝 docs(tsl): clarify tsf-only top-level rules and type annotations
3a63829 📝 docs(skills): add create-plan skill
f02a707 🐛 fix(scripts): escape markdown backticks in vendor_playbook
064aa92 🐛 fix(scripts): correct bat scripts
4881feb 🔧 chore(gitattributes): enforce crlf for bat files
1fa3e2a 🐛 fix(scripts): escape parentheses in sync_standards output
3958cad 📝 docs(vendor_playbook): mention ci templates
9d059cf  feat(templates): add gitea ci example
a52bb24 📝 docs(codex_skills): normalize markdown formatting
cc8ad4c 📝 docs(skills): slim commit-message
2a98e15 🐛 fix(skills): quote YAML descriptions
8f78d22 🐛 fix(sync_standards): generate minimal AGENTS.md
5547665  feat(skills): add commit-message suggestion skill
3fe8bd7 🔧 chore(sync_standards): create AGENTS.md on sync
283d311  feat(playbook): add syntax book and codex skills tooling
5b97ed5 📝 docs(tsl): clarify syntax references
27e0700  feat(skills): add pdf/docx/pptx/xlsx wrapper workflows
5551363  feat(skills): add debugging and bulk refactor workflows
1d4f548  feat(skills): add built-in workflow skills
c0895dd 📝 docs(skills): add anthropics document-skills integration
cf9f80d 🔧 chore(playbook): add Claude Code skills guide and align python templates

git-subtree-dir: docs/standards/playbook
git-subtree-split: b529012c59c5d67c3073884d7b617763647417fd
2026-01-08 15:56:36 +08:00

1.1 KiB
Raw Blame History

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 补全/跳转不稳定。