用途:为 TypeScript/JavaScript(.ts、.tsx、.js、.jsx)代码库提供 LSP 集成,用于探索和理解代码。处理这些文件时优先使用 LSP 工具而非 Grep/Glob,因为它能理解导入、导出与符号关系,给出类型感知结果。
主要能力:lsp-find 搜索工作区中的 TypeScript 符号;lsp-hover 获取类型信息与 TSDoc 文档;lsp-refs/lsp-references 查找符号的所有引用;lsp-symbols 列出文件内所有符号;lsp-analyze 在单会话中批量执行符号、导出、hover、引用等分析。典型场景包括探索代码结构、查找引用、理解类型、编辑前核实用法与类型签名、跳转定义与寻找实现。
与 Grep/Glob 的分工:查找函数或类型的所有用法、按名称搜索符号、获取类型签名与 TSDoc、理解文件导出用 LSP;按模式查找文件用 Glob;搜索非 TS 文件(md、json)或注释/字符串中的文本用 Grep。
使用方式:脚本通过 bunx @plaited/development-skills 调用。例如 lsp-hover <file> <line> <char>、lsp-symbols <file>、lsp-refs <file> <line> <char>、lsp-find <query> [context-file]、lsp-analyze <file> [options],其中 --symbols/-s、--exports/-e、--hover line:char、--refs line:char、--all。行号与字符位置均为 0 起始索引。文件路径支持绝对路径、相对路径和包导出路径(经 Bun.resolve() 解析,推荐后者以保证可移植性)。输出为 JSON 到 stdout,错误到 stderr。
限制:每次脚本调用都会启动并关闭 TypeScript 语言服务器(约300-500ms),同一文件多查询建议用 lsp-analyze 批量执行。资料未提供安装要求、收费、价格、支持平台等其它信息。