LSP Code Navigation

🔍 10+语言的智能代码导航终端

多语言智能代码导航工具,支持10+主流语言,通过持久化LSP守护进程实现精准跳转到定义、查找引用、类型悬停等功能,比grep更智能的代码分析方案

收藏
4.5k
安装
1.3k
版本
2.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

LSP Code Navigation 是一个基于Language Server Protocol的多语言代码导航工具,通过管理后台守护进程为Python、TypeScript/JavaScript、Rust、Go、C/C++、Bash、Java、CSS、HTML、JSON等10余种语言提供IDE级别的代码分析能力。

核心用法

  • 定义跳转:精确定位符号的原始声明位置
  • 引用查找:检索整个工作区中某符号的所有使用位置
  • 类型悬停:获取变量、函数的类型签名和文档字符串
  • 符号列表:枚举文件内所有类、函数、变量等结构
  • 诊断检查:编译前检测类型错误和潜在问题
  • 工作区搜索:跨文件搜索特定类名或函数名
  • 重命名预览:安全重构前的变更影响分析

显著优点

1. 语言自动检测:根据文件扩展名智能路由到对应语言服务器
2. 懒加载架构:首次使用时启动对应语言守护进程,5分钟空闲后自动停止

3. 零依赖部署:核心客户端仅850行Python标准库代码,无需pip安装

4. 多语言统一接口:所有语言使用一致的CLI命令范式

5. 编辑器级精度:基于官方LSP服务器,结果准确度匹敌VS Code等IDE

潜在局限

  • 首次冷启动延迟:各语言服务器首次启动需1-2秒,后续查询降至200ms级
  • 环境依赖敏感:Python诊断结果依赖当前虚拟环境的包安装状态
  • 需预装语言服务器:用户需手动安装对应语言的LSP服务器二进制文件
  • Unix域套接字限制:当前仅支持类Unix系统,Windows兼容性存疑

适合人群

  • 需要在终端环境下进行代码导航的开发者
  • 构建代码分析工具链的DevOps工程师
  • 追求轻量级替代方案替代重型IDE的用户
  • 多语言技术栈团队的统一代码检索需求

常规风险

  • 守护进程残留异常:极端情况下需手动执行lsp-query shutdown清理
  • 套接字文件冲突:自定义LSP_SOCK路径时需确保目录可写
  • 跨环境诊断差异:类型检查结果与目标部署环境的包版本可能不一致
  • 权限提升风险:建议避免以root运行守护进程,遵循最小权限原则

LSP Code Navigation 内容

scripts文件夹
手动下载zip · 12.5 kB
lsp-query.pytext/plain
请选择文件