这里记录了 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,只需要如此配置(上面的配置已有):