LSP 服务器 (LSP Servers)
OpenCode 与您的语言服务器集成,帮助 LLM 交互并获取诊断反馈
内置支持 (Built-in)
OpenCode 为多种流行语言内置了 LSP 服务支持。当检测到相应扩展名且满足要求时,会自动启用:
| LSP 服务器 | 支持扩展名 | 要求 / 备注 |
|---|---|---|
| typescript | .ts, .tsx, .js... | 项目中需有 typescript 依赖 |
| gopls | .go | 需安装 go 命令 |
| rust-analyzer | .rs | 需安装 rust-analyzer |
| pyright | .py, .pyi | 需安装 pyright 依赖 |
| clangd | .c, .cpp... | 自动为 C/C++ 项目安装 |
| bash | .sh, .bash... | 自动安装 bash-language-server |
| lua-ls | .lua | 自动为 Lua 项目安装 |
[!TIP] 可以通过设置环境变量OPENCODE_DISABLE_LSP_DOWNLOAD=true来禁用自动下载。
配置 (Configure)
您可以在
opencode.json 的 lsp 部分进行自定义:{
"lsp": {
"typescript": {
"disabled": false,
"command": ["typescript-language-server", "--stdio"],
"extensions": [".ts", ".tsx"]
}
}
}
禁用 LSP 服务器 (Disabling)
- 全局禁用: 将
lsp设置为false。 - 禁用特定服务器: 在对应服务器配置中设置
"disabled": true。
自定义 LSP 服务器 (Custom)
您可以手动添加新的 LSP 服务器:
{
"lsp": {
"my-custom-lsp": {
"command": ["custom-lsp-server", "--stdio"],
"extensions": [".custom"]
}
}
}
补充信息:PHP Intelephense
如果使用 PHP Intelephense 的高级功能,请将许可证密钥放在
~/intelephense/licence.txt 文件中。