translations/LSP_ZH_TW.md
Rama main · réplica de lectura del repositorio original.
# 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`
## 功能
- **診斷**: 即時語法和類型錯誤。
- **跳轉到定義**: 跳轉到結構體、函式和變數的定義。
- **自動補全**:針對欄位和方法的上下文感知建議。
- **懸停**: 懸停時顯示類型資訊和文件。