不能——Sublime Text 本身不支持 YAML Schema 校验,SublimeLinter-contrib-yamllint 仅检查缩进、冒号、重复 key 等基础语法,不解析 $schema 字段,也不校验字段存在性、类型或枚举值;替代方案是 Sublime 编辑 + 外部工具(如 kubectl --dry-run、homeassistant --check-config)分层校验。

Sublime 能不能做 YAML Schema 校验?
不能——Sublime Text 本身不支持 YAML Schema 校验,SublimeLinter-contrib-yamllint 只检查基础语法(缩进、冒号、重复 key),不校验字段是否存在、类型是否匹配、值是否在枚举范围内。它不读 $schema 字段,也不拉取或解析 JSON Schema 文件。
为什么装了 redhat.vscode-yaml 插件没用?
那是 VSCode 的插件,和 Sublime 完全不兼容。Sublime 没有等效的内置语言服务器支持 YAML Schema;LSP-graphql 这类 LSP 插件也只针对 GraphQL,不处理 YAML Schema。试图在 Sublime 里配置 "$schema": "https://..." 不会触发任何校验行为,状态栏也不会变,控制台也无报错——就是静默失效。
真正可行的替代路径有哪些?
必须跳出 Sublime 单点依赖,走“编辑+外部校验”组合:
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 在 Sublime 里写 YAML,靠
SublimeLinter-contrib-yamllint拦住缩进、空格、key 重复等硬性语法错误 - 保存后自动调用外部工具做 Schema 层校验:比如
kubectl apply --dry-run=client -f $file(Kubernetes)、homeassistant --check-config(Home Assistant)、act -l(GitHub Actions) - 用 Sublime 的 Build System 把这些命令封装成快捷键:Preferences → Package Settings → Tools → Build Systems → New Build System,填入:
{ "shell_cmd": "kubectl apply --dry-run=client -f \"$file\" 2>&1", "file_regex": "error: (.*)", "working_dir": "$file_path" } - Java 项目可用
com.networknt:json-schema-validator+io.snakeyaml:snakeyaml做运行时校验,但需把 YAML 先转成 JSON 再喂给 JSON Schema,注意!!int、!!bool等 YAML 特有 tag 会丢失
.yamllint 文件放错位置会导致 Schema 规则失效
.yamllint 文件必须放在项目根目录,否则 yamllint 默认只启用基础规则(indentation, colons, trailing-spaces),不会加载 key-duplicates 或 truthy 这类影响 Kubernetes/Ansible 解析的关键规则。常见坑点:
- 放在
config/.yamllint—— 不生效 - 文件名写成
yamllint.yml或.yamllint.yaml—— 不识别,必须是.yamllint(无扩展名) - 内容里用了
extends: pyproject.toml但没配pyproject.toml—— 整个文件被忽略
Schema 级别的字段合法性,终究得靠领域专用工具落地——Sublime 只能守住第一道门。

















