我想修复 yamllint 给出的错误。就像 autotpep8 自动将 python 代码格式化为 PEP8 风格一样,我们是否有类似的 yaml 文件?或者 VSCode 和 Pycharm 有可用的插件吗?
将此扩展用于 VSCODE。 它通过 yaml-language-server 为 Visual Studio Code 提供全面的 YAML 语言支持,并具有内置的 Kubernetes 和 Kedge 语法支持。
按
(Ctrl + Shift + O)
或在 Mac 中按 (option⌥ + shift⇧ + F)
查看文档大纲。
yamllint 的作者建议安装这个 VSCode 扩展,它使用 yamllint(和其他 linter)。
这可能无法解决您遇到的所有 linting 错误, 但以下 Python 程序将删除任何不必要的引号 围绕标量,标准化 YAML,例如关于缩进 块样式序列和映射:
import sys
import ruamel.yaml
yaml = ruamel.yaml.YAML()
# uncomment the next line to change the default indentation (mapping=2, sequence=2, offset=0)
# yaml.indent(mapping=4, sequence=4, offset=2)
data = yaml.load(sys.stdin)
yaml.dump(data, sys.stdout)
上面作为管道,您可以将最后两行替换为:
from pathlib import Path
path = Path(sys.argv[1])
data = yaml.load(path)
yaml.dump(data, path)
读取和写入文件,该文件的名称是提供给脚本的第一个参数。