Elixir
Elixir 支持通过 Elixir 扩展提供。
- Tree-sitter
- 语言服务器
选择语言服务器
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}", "-"]
        }
      }
    }
  }
}
其他工作区配置选项
您可以通过 settings.json 中的 lsp 设置传递其他 elixir-ls 工作区配置选项。
以下示例禁用 dialyzer
"lsp": {
  "elixir-ls": {
    "settings": {
      "dialyzerEnabled": false
    }
  }
}
有关更多选项,请参阅 ElixirLS 配置设置。
HEEx
Zed 还支持 HEEx 模板。HEEx 是 EEx (Embedded Elixir) 和 HTML 的混合体,用于 Phoenix LiveView 应用程序。
- Tree-sitter: phoenixframework/tree-sitter-heex
