工程开发
lsp-code-analysis avatar

lsp-code-analysis

通过语言服务器 (LSP) 进行精确的语义代码分析。支持 Python, Rust, Go, TypeScript/JS 和 Java,提供定义跳转、引用查询、实现查找、文件大纲与全项目重构功能。

简介

此技能通过业界标准的语言服务器协议 (LSP) 为 AI 代理程序提供编译器等级的代码分析能力,并通过 Mason 管理服务器运行。与 grep 或单纯读取文件等文本基础工具不同,此技能能够理解符号、类型与依赖关系之间的真实结构,对于复杂项目的深入理解与结构性重构至关重要。

本工具专为软件工程师与 AI 编码代理设计,特别适用于探索陌生代码库、追踪跨文件的复杂调用链,或进行安全的大规模代码修改。它将项目视为相互连接的符号图,而非仅是文本文件集合,能显著降低代理程序在导航或修改代码时产生幻觉的风险。

  • 精确导航:使用基于范围的目标设定,立即跳转至定义、类型定义或符号声明。

  • 脉络分析:在深入逻辑前产生文件大纲以绘制架构地图,并能提取特定函数或类的完整源代码。

  • 全局操作:执行项目范围内的符号重命名,并内置预览步骤以确保结构安全,支持排除特定目录。

  • 通用搜索:根据类型(函数、类、接口、变量、模块等)在整个工作空间搜索符号,即便不清楚具体文件位置亦可找到。

  • 实现追踪:查找特定对象的所有引用与实现,对于理解多型系统中的变更影响至关重要。

  • 使用策略:建议使用 lsp-outline 获取高阶结构,使用 lsp-symbol 获取特定区块内容,使用 lsp-reference 进行影响分析,并使用 lsp-definition 进行调用链追踪。

  • 目标语法:利用 --scope 参数指定类或方法(如 --scope MyClass.method),并使用 --find 旗标搭配 <|> 游标标记来锁定行内的目标位置。

  • 前置需求:需于本地安装 Mason 管理的语言服务器(pyright, rust-analyzer, typescript-language-server, gopls)。

  • 性能注意事项:初始启动约需 3 秒进行管理器初始化;后续请求经预热后通常在 2 秒内响应。

  • 安全性:在执行 lsp-rename 之前务必先运行预览模式 (preview),并检查预览产出的 ID,以确保变更范围正确且安全。

仓库统计

Star 数
1
Fork 数
0
Open Issue 数
0
主要语言
Python
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 21:15
在 GitHub 查看