LSP 服务器 (LSP Servers)

这是什么?

语言服务器协议 (LSP) 集成允许 OpenCode 利用现有的语言服务器(如 tsserver, gopls, pyright)来获取精准的代码智能信息。这意味着 AI 不仅是基于文本预测,还能理解函数定义、类型签名和错误提示。

什么时候你会用到它?

  • 当你希望 AI 能准确知道某个函数的具体参数类型和返回值,而不是根据函数名瞎猜时。
  • 当你需要 AI 帮你修复编译器报错(AI 可以直接读取 LSP 返回的 Diagnostic 错误信息)时。
  • 当你在使用一种小众编程语言,希望通过接入该语言的 LSP 来增强 AI 的理解能力时。

核心概念

  • Diagnostics:即时的语法错误和警告信息。
  • Definitions/References:代码符号的跳转和引用查找能力。
  • Capabilities Negotiation:客户端与服务器之间的功能协商。

基本用法 / 配置说明

TODO:后续补充如何在配置文件中注册新的 LSP Server

常见误解 / 注意事项

  • 启用 LSP 支持会增加内存开销,因为需要在后台运行额外的语言服务器进程。
  • 不是所有 LSP 的功能 OpenCode 都能利用,目前主要集中在读取定义和错误信息上。

延伸阅读

TODO:后续补充