必须安装redhat.vscode-yaml插件,否则无法实现缩进检查、字段拼错提示及必填项校验;需禁用所有冲突扩展,重载窗口,并在settings.json中配置schema绑定、默认格式化器和文件关联。

必须装 redhat.vscode-yaml,不装它,格式化和校验都只是“看起来在工作”——实际连缩进错误都标不出,更别提字段拼错或必填项缺失。
装对插件:只留 redhat.vscode-yaml,干掉所有冲突扩展
VSCode 自带的 YAML 支持极弱,redhat.vscode-yaml 是唯一能跑通 Schema 校验 + 补全 + 格式化的语言服务器。但装了不等于能用,常见失效原因全是插件打架:
- 禁用所有名字含
YAML Tools、Auto Close Tag、YAML Validation的扩展(哪怕图标看着很专业) - 如果同时用了
esbenp.prettier-vscode,必须关掉它的 YAML 支持:在settings.json里加"prettier.disableLanguages": ["yaml"] - 装完后按
Cmd+Shift+P→ 输入Developer: Reload Window重载窗口,别信“无需重启”的说法——旧语言服务器进程常驻内存,不重载就卡在旧状态
配对 schema:没这步,90% 的业务错误根本不会报红
纯语法检查只能抓冒号漏写、缩进混用;要让 imagePullPolicy: Alwayss 这种拼错值、spec.template.spec.containers 这种路径漏字段被标出来,必须绑 JSON Schema。配置位置是工作区根目录的 .vscode/settings.json:
- 用 Kubernetes?直接写
"kubernetes": "**/*.yaml"——这是内置快捷名,自动拉官方最新 Schema,不用填 URL - 用 GitHub Actions?填
"https://json.schemastore.org/github-workflow.json": "/.github/workflows/*.yml" - 用自定义 Schema?路径必须是相对于工作区根目录的相对路径,比如
"./schema/app.json": ["config/*.yml"],不能用~/project/schema.json这种绝对路径 - 文件编码必须是 UTF-8 无 BOM,否则插件静默失败,控制台也无报错
启用格式化:保存即整理,但得指定谁来干这事
VSCode 不自带 YAML 格式化逻辑,它只调用扩展。即使装了 redhat.vscode-yaml,默认也不接管格式化任务:
- 在
settings.json中明确指定:"[yaml]": { "editor.defaultFormatter": "redhat.vscode-yaml", "editor.formatOnSave": true } -
editor.tabSize建议设为2,YAML 规范虽不限缩进,但 kubectl、helm、大多数 CI 工具都只认 2 空格,设成 4 容易在 pipeline 里触发解析失败 - 如果按
Shift+Alt+F没反应,先右键 →Format Document With…看列表里有没有YAML Language Server——没有说明语言模式识别失败,点右下角状态栏的Plain Text手动切到YAML
最容易被跳过的其实是文件后缀和语言模式绑定:用 .template.yaml 或 .values.dev.yml 这类非标准后缀时,redhat.vscode-yaml 默认不生效,必须在 settings.json 加 "files.associations": { "*.template.yaml": "yaml" } ——不配这个,Schema 和格式化全白搭。


















