这里记录了 opencode V1 时代的旧记忆。

LSP

与网络上动辄就让你像这样手动安装并更改配置:

{
  "lsp": {
    "typescript-language-server": {
      "command": ["typescript-language-server", "--stdio"],
      "extensions": [".ts", ".tsx"],
      "priority": 10,
      "env": { "NODE_OPTIONS": "--max-old-space-size=4096" },
      "initialization": {
        "preferences": { "includeInlayParameterNameHints": "all" }
      }
    },
    ...
    }
  }
}
 

的一知半解的教程不同,我根据 opencode 的文档和其源码实现发现:opencode 内置了很多 LSP 并且大部分都会自动安装管理。

自动管理的 LSP

通过 npm 自动下载:typescript、vue、svelte、astro、yaml-ls、pyright、php intelephense、bash、dockerfile。

满足条件会自动安装:gopls、ruby-lsp、elixir-ls、zls、csharp、fsharp、clangd、jdtls、kotlin-ls、lua-ls、texlab、tinymist。

如果你手动安装了,那么需要你手动管理更新。因为 opencode 会优先使用 PATH 里面的 LSP,所以你不需要上网搜索如何手动安装某语言的 LSP,只需要如此配置(上面的配置已有):