Ansible
Zed 对 Ansible 的支持由社区维护的 Ansible 扩展提供。
配置
文件识别
为避免误处理非 Ansible 的 YAML 文件,Ansible 语言默认不与任何文件扩展名关联。如需修改此行为,您可以在项目的 Zed 设置("file_types")或用户全局设置(.zed/settings.json)中添加 ~/.config/zed/settings.json 配置段,以匹配您的目录/命名规范。例如:
请根据您的需求随意修改此列表。
库存
如果您的库存文件为 YAML 格式,您可以通过以下任一方式操作:
- 在库存文件顶部添加以下注释,将
ansible-lint库存 JSON 架构附加到文件中:
# yaml-language-server: $schema=https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/inventory.json
- 或者,在 Zed 设置中配置 YAML 语言服务器,为所有符合清单模式的文件设置此架构(参考):
"lsp": {
"yaml-language-server": {
"settings": {
"yaml": {
"schemas": {
"https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/inventory.json": [
"./inventory/*.yaml",
"hosts.yml",
]
}
}
}
}
},
LSP 配置
默认情况下,Ansible 语言服务器会接收以下预设配置。该配置与 nvim-lspconfig 为 Ansible 语言服务器设置的默认值保持一致:
{
"ansible": {
"ansible": {
"path": "ansible"
},
"executionEnvironment": {
"enabled": false
},
"python": {
"interpreterPath": "python3"
},
"validation": {
"enabled": true,
"lint": {
"enabled": true,
"path": "ansible-lint"
}
}
}
}
[!注意] 为确保代码检查功能正常工作,请确保
ansible-lint已安装并可在 PATH 环境变量中找到
如有需要,以上任何默认设置都可以在 Zed 设置文件的 "lsp" 部分进行覆盖。例如:
可在项目页面此处查看可传递给服务器的完整选项/设置列表。 请根据实际需求自由调整选项数值。