TronCode Tron CLI LSP 集成

概述

LSP(Language Server Protocol)集成是 Tron 的高级功能之一。通过连接语言服务器,Tron 可以获取精确的类型信息、函数签名、实时诊断错误等上下文,大幅提升其对代码的理解能力和修改准确性。

启用 LSP 后,Tron 在回复中可以准确引用类型定义、指出类型错误,并在修改代码时避免引入新的类型问题,代码生成质量明显提升。

自动检测

Tron 会自动检测项目中已安装的 LSP 服务器。在项目目录启动 Tron 时,它会扫描常见的语言服务器可执行文件,并尝试自动连接:

  • 检测到 tsconfig.json → 尝试连接 TypeScript 语言服务器
  • 检测到 pyproject.tomlsetup.py → 尝试连接 Python 语言服务器
  • 检测到 go.mod → 尝试连接 gopls
  • 检测到 Cargo.toml → 尝试连接 rust-analyzer

TUI 右侧面板的 LSP 状态指示器会显示当前连接的语言服务器及其状态(绿点表示已连接)。

手动配置

如果自动检测未能找到语言服务器,或者你需要指定特定版本的服务器,可以在 config.jsonlsp 字段中手动配置:

json
// ~/.config/tron/config.json
{
  "lsp": {
    "typescript": {
      "command": "typescript-language-server",
      "args": ["--stdio"]
    },
    "python": {
      "command": "pyright-langserver",
      "args": ["--stdio"]
    },
    "go": {
      "command": "gopls"
    }
  }
}

支持的语言

以下是 Tron 官方测试并支持的 LSP 服务器:

语言 推荐服务器 安装方式
TypeScript / JavaScript typescript-language-server npm i -g typescript-language-server
Python pylsp / pyright pip install python-lsp-server
Go gopls go install golang.org/x/tools/gopls@latest
Rust rust-analyzer rustup component add rust-analyzer
Java jdtls 通过 Eclipse JDT 安装
C / C++ clangd apt install clangd 或 LLVM 官网

错误诊断

启用 LSP 后,Tron 会自动读取语言服务器提供的诊断信息(类型错误、语法错误、未使用的变量等),并在 AI 回复中主动提及这些问题。

例如,当你要求 Tron 修改某个函数时,它会同时检查:

  • 修改后是否引入了新的类型错误
  • 相关调用方是否需要同步更新
  • 函数签名变更是否与接口定义一致
💡
提示

LSP 诊断信息会显示在 TUI 右侧面板中,红色圆点表示有错误,黄色圆点表示有警告。你也可以询问 Tron「当前有哪些类型错误」来获取诊断摘要。

禁用 LSP

如果你的项目不需要 LSP 功能,或者想加快 Tron 的启动速度,可以在配置中禁用 LSP:

json
{
  "lsp": false
}

禁用后,Tron 不会尝试启动任何语言服务器,启动速度更快,但将失去类型感知和实时诊断能力。