具体表现

在安装了 YAML 插件的 VSCode 中,打开一个 YAML 文件出现了下面的错误:

vscode-yaml-error-wrong-property

具体原因

Red Hat 提供的 YAML 插件会尝试推断当前 YAML 文件的使用场景,然后使用第三方的约束进行 lint(类似 XML 的约束), 对于一个具体的 YAML 文件,插件推断出来的场景可以在 VSCode 右下角找到并修改:

vscode-schema

vscode-schema-github-workflows

当你选择了 GitHub Workflow 后,相关的设置会写入项目根目录的 .vscode 中, 但是我们知道在 .github/workflows 这个地址里面基本不会有其他类型的 YAML 文件,所以我们可以直接 在全局的 settings.json 中添加相关参数

解决

在 VSCode 的全局设置 settings.json 中加入下面的内容:

// YAML 插件的配置
"yaml.schemas": {
    "https://json.schemastore.org/github-workflow.json": [
        ".github/workflows/*.yaml",
        ".github/workflows/*.yml",
    ]
}

Reference

https://stackoverflow.com/questions/69493762/visual-studio-code-showing-error-property-stages-is-not-allowed-property-param (其中 Tal Kohavy 的评论)