Files
tsl-devkit/memory-bank/tech-context.md
T
csh a5c1b2c67b
lsp-server ci / build-and-test (push) Failing after 1s
🔧 build(lsp-server): 构建产物迁出 OneDrive 至 /var/tmp
将默认构建目录从项目内 lsp-server/build/clang-linux 改为跨机器
固定绝对路径 /var/tmp/tsl-devkit,避免 OneDrive 同步构建产物。

- .clangd: CompilationDatabase 指向新路径
- conanfile.txt: Linux/交叉编译命令统一到 /var/tmp,补齐 cross 段 /Release
- AGENT_RULES.local.md: 更新构建/验证目录,补充 Windows 交叉编译段
- tech-context.md: 更新运行测试目录
2026-07-14 21:54:05 +08:00

2.5 KiB
Raw Blame History

技术上下文与工具链

核心技术

  • C++23 Modules、CMake、Conan、Ninjalsp-server/ 主体工具链
  • Tree-sitterTSL 增量解析与语法树生成
  • Glaze、Taskflow、spdlogJSON、异步调度与日志基础设施
  • TypeScript + VSCode APIvscode/ 扩展
  • Python 3playbook 同步、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 /var/tmp/tsl-devkit/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