docs: improve zh-cn and zh-tw documentation translations (#13942)

This commit is contained in:
chenmi
2026-02-17 20:06:39 +08:00
committed by GitHub
parent 8d0a303af4
commit 4fd3141ab5
68 changed files with 4624 additions and 4518 deletions

View File

@@ -1,71 +1,71 @@
---
title: LSP 伺服器
description: opencode 與您的 LSP 伺服器整合。
description: OpenCode 與您的 LSP 伺服器整合。
---
opencode 與您的語言伺服器協定 (LSP) 整合,以幫助 LLM 與您的程式碼庫互動。它使用診斷向 LLM 提供回饋。
OpenCode 與您的語言伺服器協定LSP整合,助 LLM 與您的程式碼庫進行互動。它用診斷資訊向 LLM 提供回饋。
---
## 內建
## 內建支援
opencode 附帶了多種適用於流語言的內建 LSP 伺服器:
OpenCode 內建了多種適用於流語言的 LSP 伺服器:
| LSP 伺服器 | 副檔名 | 要求 |
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------ |
| astro | .astro | Astro 專案自動安裝 |
| bash | .sh.bash.zsh.ksh | 自動安裝 bash-language-server |
| clangd | .c.cpp.cc.cxx.c++、.h、.hpp.hh.hxx.h++ | 自動安裝 C/C++ 專案 |
| csharp | .cs | `.NET SDK` 已安裝 |
| clojure-lsp | .clj.cljs.cljc.edn | `clojure-lsp` 指令可用 |
| dart | .dart | `dart` 指令可用 |
| deno | .ts.tsx.js.jsx.mjs | `deno` 指令可用(自動測 deno.json/deno.jsonc |
| elixir-ls | .ex.exs | `elixir` 指令可用 |
| eslint | .ts.tsx.js.jsx.mjs.cjs.mts.cts.vue | `eslint` 專案中的相依套件 |
| fsharp | .fs.fsi.fsx.fsscript | `.NET SDK` 已安裝 |
| gleam | .gleam | `gleam` 指令可用 |
| gopls | .go | `go` 指令可用 |
| hls | .hs.lhs | `haskell-language-server-wrapper` 指令可用 |
| jdtls | .java | `Java SDK (version 21+)` 已安裝 |
| kotlin-ls | .kt.kts | Kotlin 專案自動安裝 |
| lua-ls | .lua | 自動安裝 Lua 專案 |
| nil | .nix | `nixd` 指令可用 |
| ocaml-lsp | .ml.mli | `ocamllsp` 指令可用 |
| oxlint | .ts.tsx.js.jsx.mjs.cjs.mts.cts.vue.astro.svelte | `oxlint` 專案中的相依套件 |
| php intelephense | .php | PHP 專案自動安裝 |
| prisma | .prisma | `prisma` 指令可用 |
| pyright | .py, .pyi | `pyright` 相依套件已安裝 |
| ruby-lsp (rubocop) | .rb.rake.gemspec.ru | `ruby` 和 `gem` 指令可用 |
| rust-analyzer | .rs | `rust-analyzer` 指令可用 |
| sourcekit-lsp | .swift.objc.objcpp | `swift` 已安裝(`xcode` 在 macOS 上) |
| svelte | .svelte | Svelte 專案自動安裝 |
| terraform-ls | .tf.tfvars | 從 GitHub Releases 自動安裝 |
| tinymist | .typ.typc | 從 GitHub Releases 自動安裝 |
| typescript | .ts.tsx.js.jsx.mjs.cjs.mts.cts | `typescript` 專案中的相依套件 |
| vue | .vue | Vue 專案自動安裝 |
| yaml-ls | .yaml.yml | 自動安裝 Red Hat yaml-language-server |
| zls | .zig.zon | `zig` 指令可用 |
| LSP 伺服器 | 副檔名 | 要求 |
| ------------------ | ------------------------------------------------------------------- | ----------------------------------------------------- |
| astro | .astro | Astro 專案自動安裝 |
| bash | .sh, .bash, .zsh, .ksh | 自動安裝 bash-language-server |
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | C/C++ 專案自動安裝 |
| csharp | .cs | 需要已安裝 `.NET SDK` |
| clojure-lsp | .clj, .cljs, .cljc, .edn | 需要 `clojure-lsp` 指令可用 |
| dart | .dart | 需要 `dart` 指令可用 |
| deno | .ts, .tsx, .js, .jsx, .mjs | 需要 `deno` 指令可用(自動測 deno.json/deno.jsonc |
| elixir-ls | .ex, .exs | 需要 `elixir` 指令可用 |
| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | 專案中需要 `eslint` 相依套件 |
| fsharp | .fs, .fsi, .fsx, .fsscript | 需要已安裝 `.NET SDK` |
| gleam | .gleam | 需要 `gleam` 指令可用 |
| gopls | .go | 需要 `go` 指令可用 |
| hls | .hs, .lhs | 需要 `haskell-language-server-wrapper` 指令可用 |
| jdtls | .java | 需要已安裝 `Java SDK (version 21+)` |
| kotlin-ls | .kt, .kts | Kotlin 專案自動安裝 |
| lua-ls | .lua | Lua 專案自動安裝 |
| nixd | .nix | 需要 `nixd` 指令可用 |
| ocaml-lsp | .ml, .mli | 需要 `ocamllsp` 指令可用 |
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | 專案中需要 `oxlint` 相依套件 |
| php intelephense | .php | PHP 專案自動安裝 |
| prisma | .prisma | 需要 `prisma` 指令可用 |
| pyright | .py, .pyi | 需要已安裝 `pyright` 相依套件 |
| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | 需要 `ruby` 和 `gem` 指令可用 |
| rust | .rs | 需要 `rust-analyzer` 指令可用 |
| sourcekit-lsp | .swift, .objc, .objcpp | 需要已安裝 `swift`macOS 上為 `xcode` |
| svelte | .svelte | Svelte 專案自動安裝 |
| terraform | .tf, .tfvars | 從 GitHub releases 自動安裝 |
| tinymist | .typ, .typc | 從 GitHub releases 自動安裝 |
| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | 專案中需要 `typescript` 相依套件 |
| vue | .vue | Vue 專案自動安裝 |
| yaml-ls | .yaml, .yml | 自動安裝 Red Hat yaml-language-server |
| zls | .zig, .zon | 需要 `zig` 指令可用 |
測到上述檔案副檔名之一且滿足要求時LSP 伺服器自動啟用。
測到上述檔案副檔名且滿足相應要求時LSP 伺服器自動啟用。
:::note
您可以透過將 `OPENCODE_DISABLE_LSP_DOWNLOAD` 環境變數設定為 `true` 來禁用自動 LSP 伺服器下載。
您可以將 `OPENCODE_DISABLE_LSP_DOWNLOAD` 環境變數設定為 `true` 來停用 LSP 伺服器的自動下載。
:::
---
## 它是如何運作的
## 工作原理
opencode 開一個檔案時,它:
OpenCode 開一個檔案時,它
1. 根據所有啟用的 LSP 伺服器檢查檔案副檔名
2. 如果尚未執行,則啟動相應的 LSP 伺服器。
1. 將檔案副檔名與所有啟用的 LSP 伺服器進行比對
2. 如果應的 LSP 伺服器尚未執行,則自動啟動它
---
## 設定
您可以透過 opencode 設定中的 `lsp` 部分自定義 LSP 伺服器。
您可以透過 OpenCode 設定中的 `lsp` 部分來自訂 LSP 伺服器。
```json title="opencode.json"
{
@@ -74,23 +74,23 @@ opencode 附帶了多種適用於流行語言的內建 LSP 伺服器:
}
```
每個 LSP 伺服器支援以下功能
每個 LSP 伺服器支援以下設定項
| 屬性 | 類型 | 描述 |
| ---------------- | ------ | ----------------------------------- |
| `disabled` | 布林值 | 將其設定為 `true` 以禁用 LSP 伺服器 |
| `command` | 字串[] | 啟動 LSP 伺服器的指令 |
| `extensions` | 字串[] | LSP 伺服器處理的檔案副檔名 |
| `env` | 物件 | 啟動伺服器時設定的環境變數 |
| `initialization` | 物件 | 發送到 LSP 伺服器的初始化選項 |
| 屬性 | 類型 | 描述 |
| ---------------- | -------- | --------------------------------- |
| `disabled` | boolean | 設定為 `true` 可停用該 LSP 伺服器 |
| `command` | string[] | 啟動 LSP 伺服器的指令 |
| `extensions` | string[] | LSP 伺服器需要處理的檔案副檔名 |
| `env` | object | 啟動伺服器時設定的環境變數 |
| `initialization` | object | 傳送給 LSP 伺服器的初始化選項 |
讓我們看一些例
下面來看一些例。
---
### 環境變數
啟動 LSP 伺服器時使用 `env` 屬性設定環境變數:
使用 `env` 屬性在啟動 LSP 伺服器時設定環境變數:
```json title="opencode.json" {5-7}
{
@@ -109,7 +109,7 @@ opencode 附帶了多種適用於流行語言的內建 LSP 伺服器:
### 初始化選項
使用 `initialization` 屬性將初始化選項傳遞給 LSP 伺服器。這些是在 LSP `initialize` 請求期間送的伺服器特定設定:
使用 `initialization` 屬性 LSP 伺服器傳遞初始化選項。這些是在 LSP `initialize` 請求期間送的伺服器特定設定:
```json title="opencode.json" {5-9}
{
@@ -127,14 +127,14 @@ opencode 附帶了多種適用於流行語言的內建 LSP 伺服器:
```
:::note
初始化選項因 LSP 伺服器而異。檢查 LSP 伺服器的文件以獲取可用選項。
初始化選項因 LSP 伺服器而異。請查閱您所使用的 LSP 伺服器的文件以了解可用選項。
:::
---
### 用 LSP 伺服器
### 用 LSP 伺服器
要全域用**所有** LSP 伺服器,將 `lsp` 設定為 `false`
要全域用**所有** LSP 伺服器,將 `lsp` 設定為 `false`
```json title="opencode.json" {3}
{
@@ -143,7 +143,7 @@ opencode 附帶了多種適用於流行語言的內建 LSP 伺服器:
}
```
用**特定** LSP 伺服器,將 `disabled` 設定為 `true`
用**特定** LSP 伺服器,將 `disabled` 設定為 `true`
```json title="opencode.json" {5}
{
@@ -158,9 +158,9 @@ opencode 附帶了多種適用於流行語言的內建 LSP 伺服器:
---
### 自定義 LSP 伺服器
### 自 LSP 伺服器
您可以透過指定指令和檔案副檔名來添加自定義 LSP 伺服器:
您可以透過指定指令和檔案副檔名來新增自訂 LSP 伺服器:
```json title="opencode.json" {4-7}
{
@@ -176,13 +176,13 @@ opencode 附帶了多種適用於流行語言的內建 LSP 伺服器:
---
## 附加資訊
## 補充資訊
### PHP Intelephense
PHP Intelephense 透過授權金鑰提供高級功能。您可以透過將(僅)金鑰放入位於以下位置的文字檔案中來提供授權金鑰
PHP Intelephense 透過授權金鑰提供進階功能。您可以將授權金鑰單獨放在以下路徑的文字檔案中
- macOS/Linux`$HOME/intelephense/license.txt`
- Windows`%USERPROFILE%/intelephense/license.txt`
- macOS/Linux`$HOME/intelephense/license.txt`
- Windows`%USERPROFILE%/intelephense/license.txt`
該檔案應僅包含授權金鑰,不包含其他內容。
該檔案應僅包含授權金鑰,不要新增其他任何內容。