Elixir
Elixir 支援可透過 Elixir 擴充套件 取得。
選擇語言伺服器
Elixir 擴充套件提供 elixir-ls
、next-ls
和 lexical
的語言伺服器支援。
預設啟用 elixir-ls
。
若要切換至 next-ls
,請將以下內容新增至您的 settings.json
{
"languages": {
"Elixir": {
"language_servers": ["next-ls", "!elixir-ls", "..."]
}
}
}
若要切換至 lexical
,請將以下內容新增至您的 settings.json
{
"languages": {
"Elixir": {
"language_servers": ["lexical", "!elixir-ls", "..."]
}
}
}
設定 elixir-ls
- 安裝
elixir
brew install elixir
- 安裝
elixir-ls
brew install elixir-ls
- 重新啟動 Zed
如果
elixir-ls
未在 elixir 專案中執行,請透過命令面板動作zed: open log
檢查錯誤日誌。如果您發現錯誤訊息提及:invalid LSP message header "Shall I install Hex? (if running non-interactively, use \"mix local.hex --force\") [Yn]
,您可能需要安裝Hex
。您可以從命令列執行elixir-ls
並接受安裝Hex
的提示。
使用 Mix 格式化
如果您偏好使用 Mix 格式化程式碼,請在您的 settings.json
檔案中使用以下程式碼片段將其設定為外部格式化程式。格式化將在檔案儲存時發生。
{
"languages": {
"Elixir": {
"format_on_save": {
"external": {
"command": "mix",
"arguments": ["format", "--stdin-filename", "{buffer_path}", "-"]
}
}
}
}
}
其他工作區設定選項(需要 Zed 0.128.0
)
您可以透過 settings.json
中的 lsp 設定傳遞額外的 elixir-ls 工作區設定選項。
以下範例停用 dialyzer
"lsp": {
"elixir-ls": {
"settings": {
"dialyzerEnabled": false
}
}
}
請參閱 ElixirLS 設定設定 以了解更多選項。