Elixir
可以通过 Elixir 扩展 获得 Elixir 支持。
选择语言服务器
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}", "-"]
}
}
}
}
}
其他工作区配置选项(需要 Zed 0.128.0
)
您可以通过 settings.json
中的 lsp 设置传递其他 elixir-ls 工作区配置选项。
以下示例禁用 dialyzer
"lsp": {
"elixir-ls": {
"settings": {
"dialyzerEnabled": false
}
}
}
有关更多选项,请参见 ElixirLS 配置设置。