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.jsonlsp 部分进行自定义:
{
  "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 文件中。