2.5 KiB
2.5 KiB
技术上下文与工具链
核心技术
- C++23 Modules、CMake、Conan、Ninja:
lsp-server/主体工具链 - Tree-sitter:TSL 增量解析与语法树生成
- Glaze、Taskflow、spdlog:JSON、异步调度与日志基础设施
- TypeScript + VSCode API:
vscode/扩展 - Python 3:playbook 同步、Plan 流程与辅助脚本
项目结构
tsl-devkit/
├── lsp-server/ # C++23 LSP 服务器、解析器与测试
├── vscode/ # VSCode 扩展
├── vim/ # Vim 语法与运行时支持
├── docs/standards/playbook/ # vendored playbook 快照
├── docs/prompts/ # playbook 管理的提示词入口
├── docs/superpowers/plans/ # 实施计划
└── memory-bank/ # 项目上下文
关键入口
lsp-server/src/core/server.cppm- LSP stdio 主循环lsp-server/src/core/dispatcher.cppm- 请求分发入口lsp-server/src/provider/- 各类 LSP capability 实现lsp-server/src/manager/- 文档、解析、符号等共享状态lsp-server/src/language/- AST、语义、符号分析docs/standards/playbook/scripts/playbook.py- 同步 playbook 管理文件docs/standards/playbook/scripts/main_loop.py- Plan 领取与写回
开发环境
必需工具:
- Python 3
- CMake 4.2+
- Conan 2.x
- Ninja
- Clang 20+ 或 GCC 15+
- Node.js 18+
运行测试:
ctest --test-dir lsp-server/build/clang-linux/Release --output-on-failure
npm --prefix vscode run compile
格式化 / Lint:
clang-format -i <cpp-files>
npx --prefix vscode prettier -w <ts-or-json-files>
环境与平台差异
- Linux 是主开发环境;Windows 构建通过 Conan profile + CMake 交叉编译支持
- 仓库位于 CIFS 共享目录时,git 索引状态可能不稳定,需要用轻量 stat 配置
依赖与限制
- Conan 安装和部分构建步骤依赖外网或内网制品源
docs/standards/playbook/不做手工业务改造,只通过 subtree 更新vscode/package.json目前没有独立 lint 脚本,TS 侧最基本验证是npm run compile
验证约定
- 文档 / playbook 变更至少要重新运行
python docs/standards/playbook/scripts/playbook.py -config playbook.toml - 代码改动的验证范围要与影响面匹配,至少覆盖对应模块的构建或测试
- 在 CIFS 工作区里,git 校验命令优先加
-c core.trustctime=false -c core.checkStat=minimal
最后更新:2026-05-24