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 配置设置