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:后续补充