Elixir
Elixir 支持可通过 Elixir 扩展获得。
- Tree-sitter
- 语言服务器
选择语言服务器
Elixir 扩展为 expert、elixir-ls、next-ls 和 lexical 提供语言服务器支持。
elixir-ls 默认启用。
Expert
要切换到 expert,请在您的 settings.json 中添加以下内容
"languages": {
"Elixir": {
"language_servers": ["expert", "!elixir-ls", "!next-ls", "!lexical", "..."]
},
"HEEX": {
"language_servers": ["expert", "!elixir-ls", "!next-ls", "!lexical", "..."]
}
}
Next LS
要切换到 next-ls,请在您的 settings.json 中添加以下内容
"languages": {
"Elixir": {
"language_servers": ["next-ls", "!expert", "!elixir-ls", "!lexical", "..."]
},
"HEEX": {
"language_servers": ["next-ls", "!expert", "!elixir-ls", "!lexical", "..."]
}
}
Lexical
要切换到 lexical,请在您的 settings.json 中添加以下内容
"languages": {
"Elixir": {
"language_servers": ["lexical", "!expert", "!elixir-ls", "!next-ls", "..."]
},
"HEEX": {
"language_servers": ["lexical", "!expert", "!elixir-ls", "!next-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": "on",
"formatter": {
"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