mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-01 02:06:41 +00:00
fix(docs): locale translations for nav elements and headings
This commit is contained in:
@@ -1,71 +1,71 @@
|
||||
---
|
||||
title: LSP服務器
|
||||
description: opencode 與您的 LSP 服務器集成。
|
||||
title: LSP 伺服器
|
||||
description: opencode 與您的 LSP 伺服器整合。
|
||||
---
|
||||
|
||||
opencode 與您的語言服務器協議 (LSP) 集成,以幫助 LLM 與您的程式碼庫交互。它使用診斷向LLM提供反饋。
|
||||
opencode 與您的語言伺服器協定 (LSP) 整合,以幫助 LLM 與您的程式碼庫互動。它使用診斷向 LLM 提供回饋。
|
||||
|
||||
---
|
||||
|
||||
## 內建
|
||||
|
||||
opencode 附帶了多種適用於流行語言的內置 LSP 服務器:
|
||||
opencode 附帶了多種適用於流行語言的內建 LSP 伺服器:
|
||||
|
||||
| LSP服務器 | 擴展 | 要求 |
|
||||
| ------------------- | ------------------------------------------------------------------- | ------------------------------------------------ |
|
||||
| 天文 | .astro | Astro 項目自動安裝 |
|
||||
| bash | .sh、.bash、.zsh、.ksh | 自動安裝 bash-語言-服務器 |
|
||||
| 叮叮 | .c、.cpp、.cc、.cxx、.c++、.h、.hpp、.hh、.hxx、.h++ | 自動安裝 C/C++ 項目 |
|
||||
| 夏普 | .cs | `.NET SDK` 已安裝 |
|
||||
| Clojure-lsp | 語言.clj、.cljs、.cljc、.edn | `clojure-lsp` 命令可用 |
|
||||
| 飛鏢 | .dart | `dart` 命令可用 |
|
||||
| 給定 | .ts、.tsx、.js、.jsx、.mjs | `deno` 命令可用(自動檢測 deno.json/deno.jsonc) |
|
||||
| 長生不老藥-LS | .ex、.exs | `elixir` 命令可用 |
|
||||
| 埃斯林特 | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts、.vue | `eslint` 項目中的依賴項 |
|
||||
| 銳利 | .fs、.fsi、.fsx、.fsscript | `.NET SDK` 已安裝 |
|
||||
| 微光 | .gleam | `gleam` 命令可用 |
|
||||
| 伙計們 | .go | `go` 命令可用 |
|
||||
| HLS | .hs、.lhs | `haskell-language-server-wrapper` 命令可用 |
|
||||
| jdtls | .java | `Java SDK (version 21+)` 已安裝 |
|
||||
| kotlin-ls | .kt、.kts | Kotlin 項目的自動安裝 |
|
||||
| lua-ls | .lua | 自動安裝 Lua 項目 |
|
||||
| 尼克斯 | .nix | `nixd` 命令可用 |
|
||||
| ocaml-lsp | .ml、.mli | `ocamllsp` 命令可用 |
|
||||
| ocx林特 | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts、.vue、.astro、.svelte | `oxlint` 項目中的依賴項 |
|
||||
| php intelephense | php .php | PHP 項目的自動安裝 |
|
||||
| 棱鏡 | .prisma | `prisma` 命令可用 |
|
||||
| 皮賴特 | .py, .pyi | `pyright` 依賴項已安裝 |
|
||||
| ruby-lsp(rubocop) | .rb、.rake、.gemspec、.ru | `ruby` 和 `gem` 命令可用 |
|
||||
| 生鏽 | .rs | `rust-analyzer` 命令可用 |
|
||||
| 源套件-lsp | .swift、.objc、.objcpp | `swift` 已安裝(`xcode` 在 macOS 上) |
|
||||
| 苗條 | .svelte | Svelte 項目的自動安裝 |
|
||||
| 地形 | .tf、.tfvars | 從 GitHub 版本自動安裝 |
|
||||
| 微霧 | .typ、.typc | 從 GitHub 版本自動安裝 |
|
||||
| 打字稿 | .ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts | `typescript` 項目中的依賴項 |
|
||||
| 視圖 | .vue | Vue 項目自動安裝 |
|
||||
| yaml-ls | .yaml、.yml | 自動安裝 Red Hat yaml-language-server |
|
||||
| 中立 | .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 專案 |
|
||||
| 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 服務器將自動啟用。
|
||||
當檢測到上述檔案副檔名之一且滿足要求時,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` | 布林值 | 將其設定為 `true` 以禁用 LSP 伺服器 |
|
||||
| `command` | 字串[] | 啟動 LSP 伺服器的指令 |
|
||||
| `extensions` | 字串[] | 此 LSP 伺服器應處理的檔案副檔名 |
|
||||
| `env` | 物件 | 啟動伺服器時設定的環境變數 |
|
||||
| `initialization` | 物件 | 發送到 LSP 伺服器的初始化選項 |
|
||||
|
||||
讓我們看一些例子。
|
||||
|
||||
---
|
||||
|
||||
### 環境變量
|
||||
### 環境變數
|
||||
|
||||
啟動LSP服務器時使用`env`屬性設置環境變量:
|
||||
啟動 LSP 伺服器時使用 `env` 屬性設定環境變數:
|
||||
|
||||
```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 英特爾芬斯
|
||||
### PHP Intelephense
|
||||
|
||||
PHP Intelephense 通過許可證密鑰提供高級功能。您可以通過將(僅)密鑰放入位於以下位置的文本文件中來提供許可證密鑰:
|
||||
PHP Intelephense 透過授權金鑰提供高級功能。您可以透過將(僅)金鑰放入位於以下位置的文字檔案中來提供授權金鑰:
|
||||
|
||||
- 在 macOS/Linux 上:`$HOME/intelephense/license.txt`
|
||||
- 在 Windows 上:`%USERPROFILE%/intelephense/license.txt`
|
||||
|
||||
該文件應僅包含許可證密鑰,不包含其他內容。
|
||||
該檔案應僅包含授權金鑰,不包含其他內容。
|
||||
|
||||
Reference in New Issue
Block a user