Elixir

ElixirのサポートはElixir拡張機能を利用できます。

言語サーバーの選択

Elixir拡張機能はelixir-lsnext-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の設定

  1. elixirをインストールします。
brew install elixir
  1. elixir-lsをインストールします。
brew install elixir-ls
  1. Zedを再起動します。

elixirプロジェクトでelixir-lsが実行されていない場合は、コマンドパレットアクションzed: open logでエラーログを確認します。次のようなエラーメッセージが表示される場合は、Hexをインストールする必要があります。コマンドラインからelixir-lsを実行し、プロンプトに従ってHexをインストールします。

Mixによるフォーマット

Mixでコードをフォーマットする場合は、settings.jsonファイルで次のスニペットを使用して外部フォーマッターとして構成します。ファイルが保存されるとフォーマットされます。

{ "languages": { "Elixir": { "format_on_save": { "external": { "command": "mix", "arguments": ["format", "--stdin-filename", "{buffer_path}", "-"] } } } } }

追加のワークスペース設定オプション(Zed0.128.0が必要です)

settings.jsonのlsp設定でelixir-lsワークスペースの追加設定オプションを渡すことができます。

次の例ではdialyzerを無効にします。

"lsp": { "elixir-ls": { "settings": { "dialyzerEnabled": false } } }

ElixirLSの設定で他のオプションを確認してください。