Ctrl K
ComunidadGuías…

translations/LSP_ZH_TW.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Zen C 語言伺服器協定 (LSP)

Zen C 隨附內建的語言伺服器 (LSP),提供諸如自動補全、跳轉到定義和錯誤診斷等編輯器功能。

## 啟動伺服器

語言伺服器內建於 `zc` 編譯器中。您可以手動啟動它(儘管您的編輯器通常會自動處理):

```bash
zc lsp
```

它透過標準輸入/輸出 (stdio) 進行通訊。

## 編輯器配置

### VS Code

對於 Visual Studio Code,請使用官方的 Zen C 擴充功能:

- **儲存庫**: [zenc-lang/vscode-zenc](https://github.com/zenc-lang/vscode-zenc)

直接從 **[Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Z-libs.zenc)** 安裝擴充功能。

或者,您可以從原始碼建置 `.vsix`。

### Vim / Neovim

透過 `zenc.vim` 外掛程式提供對 Vim 和 Neovim 的支援,其中包括語法高亮和 LSP 配置助手。

- **儲存庫**: [zenc-lang/zenc.vim](https://github.com/zenc-lang/zenc.vim)

#### Neovim (`lazy.nvim` 範例)

如果您使用的是 `nvim-lspconfig`,您可以註冊 `zc` 為自訂伺服器:

```lua
local lspconfig = require('lspconfig')
local configs = require('lspconfig.configs')

if not configs.zenc then
  configs.zenc = {
    default_config = {
      cmd = { 'zc', 'lsp' },
      filetypes = { 'zenc', 'zc' },
      root_dir = lspconfig.util.root_pattern('.git', 'build.bat', 'Makefile'),
      settings = {},
    },
  }
end

lspconfig.zenc.setup {}
```

### Zed

要在 Zed 中配置 Zen C,請將以下內容新增至您的 `settings.json` 或語言配置中:

```json
{
  "lsp": {
    "zenc": {
      "binary": {
        "path": "zc",
        "arguments": ["lsp"]
      }
    }
  },
  "languages": {
    "Zen C": {
      "language_servers": ["zenc"]
    }
  }
}
```

### 通用編輯器 (Sublime, Emacs 等)

對於任何支援通用 LSP 用戶端的編輯器:

1.  **命令**: `zc`
2.  **參數**: `lsp`
3.  **傳輸**: `stdio`
4.  **檔案副檔名**: `.zc`

## 功能

- **診斷**: 即時語法和類型錯誤。
- **跳轉到定義**: 跳轉到結構體、函式和變數的定義。
- **自動補全**:針對欄位和方法的上下文感知建議。
- **懸停**: 懸停時顯示類型資訊和文件。