
TSG Indexer

2025.05.07
0
Rust代码分析代码导航代码索引开发效率
TSG Indexer 是一个用于索引代码仓库的 Rust 库,利用 Tree-sitter Stack Graphs 技术分析代码结构并构建图形表示。它能够捕获跨文件的定义和引用关系,提供强大的代码导航和分析能力。该库设计用于与 Model Control Protocol (MCP) 服务器及其他需要代码索引和导航功能的工具集成。
View on GitHub
Overview
基本能力
产品定位
TSG Indexer 是一个代码分析和索引工具,专注于为代码仓库提供结构化的图形表示,以支持代码导航和分析。
核心功能
- 支持 20+ 种编程语言(包括 Rust、Python、JavaScript、TypeScript、Java 等)
- 递归目录遍历,全面分析代码库
- 多种输出格式(JSON、DOT 图形)
- 通过功能标志提供可选的 CLI 和 LSP 支持
- 为不支持的语言生成 TSG 文件
适用场景
- 代码导航和引用查找
- 代码结构分析和可视化
- 集成到 MCP 服务器中提供代码索引功能
- 开发工具中的代码分析功能
工具列表
- CLI 工具:通过命令行接口运行代码索引和分析
- LSP 支持:通过语言服务器协议提供代码分析功能
- 库 API:提供 Rust API 供其他工具集成
常见问题解答
- 如何添加对新语言的支持?:可以通过扩展 tree-sitter 解析器来支持新语言。
- 如何输出不同格式的结果?:通过
--format
参数指定输出格式(如json
或dot
)。 - 如何集成到 MCP 服务器中?:将 tsg_indexer 作为依赖添加到项目中,并使用其 API 进行代码索引。
使用教程
使用依赖
确保已安装 Rust 和 Cargo。
安装教程
- 添加到 Cargo.toml:
[dependencies]
tsg_indexer = { version = "0.1.0", features = ["cli", "lsp"] }
- 或克隆并构建仓库:
git clone https://github.com/entrepeneur4lyf/tsg_indexer.git
cd tsg_indexer
cargo build --release
调试方式
- 使用 CLI 工具索引代码:
tsg_indexer_cli --verbose src/
-
检查输出文件(如
output.json
)以验证索引结果。 -
使用
--format dot
生成图形表示并可视化。