Elixir

Elixir 支援可透過 Elixir 擴充套件 取得。

選擇語言伺服器

Elixir 擴充套件提供 elixir-lsnext-lslexical 的語言伺服器支援。

預設啟用 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

  1. 安裝 elixir
brew install elixir
  1. 安裝 elixir-ls
brew install elixir-ls
  1. 重新啟動 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 設定設定 以了解更多選項。