TSG Indexer

TSG Indexer

site icon
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 参数指定输出格式(如 jsondot)。
  • 如何集成到 MCP 服务器中?:将 tsg_indexer 作为依赖添加到项目中,并使用其 API 进行代码索引。

使用教程

使用依赖

确保已安装 Rust 和 Cargo。

安装教程

  1. 添加到 Cargo.toml:
[dependencies]
tsg_indexer = { version = "0.1.0", features = ["cli", "lsp"] }
  1. 或克隆并构建仓库:
git clone https://github.com/entrepeneur4lyf/tsg_indexer.git
cd tsg_indexer
cargo build --release

调试方式

  1. 使用 CLI 工具索引代码:
tsg_indexer_cli --verbose src/
  1. 检查输出文件(如 output.json)以验证索引结果。

  2. 使用 --format dot 生成图形表示并可视化。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。