如何让 VS Code Ansible 扩展来识别我的角色?

问题描述 投票:0回答:1

VS Code Ansible 扩展可以识别我的剧本,并且在着色、悬停帮助等方面做得非常好。但是它对我的角色却没有做同样的事情。我的目录结构:

my_project/
  roles/
  scenarios/
    <playbook yml's>

请注意,我无法更改这一点,因为我正在开发一个大型项目,其中很多人和代码都期望这种结构。剧本运行良好。如果这很重要的话,我使用的是 macOS。

我添加了一个

ansible.cfg
文件(在
my_project
的父级中),其中包含:

[defaults]
roles_path    = $HOME/path_to_project/my_project/roles

我知道 VS Code 正在查找该文件,因为它抱怨其中存在错误。添加该文件确实导致

ansible-lint
针对角色运行,但仍然没有着色、悬停帮助等。

我查看了所有 Ansible 扩展设置,但没有看到任何明显的东西。任何建议非常感谢!

visual-studio-code ansible
1个回答
0
投票

对我来说,要让

ansible-lint
在 vscode 内的类似场景中工作,请将 ansible.cfg 放在在 vscode 中作为文件夹打开的目录的根目录中。

我的布局实际上如下所示,并且从 /workspace/ansible.cfg 到 /workspace/ansible/ansible.cfg 的符号链接有效。

workspace/
  ansible/
    playbooks/
    roles/
    ansible.cfg
  ansible.cfg -> ansible/ansible.cfg

在我的例子中,我连接到一个 docker 容器,其中

/workspace/ansible
也安装到
/ansible
并且
ansible.cfg
包含以下内容:

[defaults]
home = /ansible
inventory = /ansible/inventory.yml
# ...
© www.soinside.com 2019 - 2024. All rights reserved.