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