Skip to content

Markdown 检查

VMark 内置一套 lint 引擎,专门捕获 正确性问题,而非样式偏好。Lint 按需运行(Cmd-Shift-L 或 工具 → 检查 Markdown),结果以行号槽中的波浪线、状态栏徽章和 F2 导航的形式呈现。

Lint 是什么,不是什么

VMark 的 lint 是 正确性 检查器:

  • 损坏的交叉引用
  • 未定义的链接 / 脚注引用
  • 未关闭的代码围栏
  • 列数不匹配的表格
  • 跳级的标题级别(h1 → h3)
  • 缺少 alt 文本的图片
  • 链接文本为空或 href 为空

VMark 的 lint 不是 样式强制器。它不会标记:

  • 行长度
  • 列表标记样式(-*
  • 强调标记样式(_*
  • 标题样式(# 与下划线)
  • 行尾空白

样式强制请在 VMark 之外使用 prettier --check 等独立工具。

规则参考

规则 ID严重级别描述
E01错误未定义的引用:[link][missing] 指向不存在的定义
E02错误表格行的列数不正确(与表头行不匹配)
E03错误反向链接 —— 形如 (text)[url] 而非 [text](url)
E04错误ATX 标题在 # 后缺少空格(如 ##Heading 应为 ## Heading
E05错误强调标记内有空格 —— * word * 不会渲染为斜体
E06错误未关闭的围栏代码块 —— 文件以未闭合的 ``` 围栏结尾
E07错误链接引用定义重复(同一 [label]: 出现两次)
E08错误链接的 href 为空 —— [text]()
W01警告跳级的标题(期待 h2,实际是 h3)
W02警告图片缺少 alt 文本 —— 无障碍
W03警告未使用的链接引用定义(已定义但从未被链接)
W04警告锚点片段不匹配任何标题 —— #section 指向不存在的章节
W05警告链接文本为空 —— [](url)
M001错误本地路径上未找到图片文件
M002错误本地路径上未找到链接的文件
Y001错误YAML 解析错误(针对 YAML 文件)
Y002警告YAML 解析警告(针对 YAML 文件)

触发 Lint

触发方式操作
Cmd + Shift + L(macOS) / Ctrl + Shift + L(Win/Linux)对当前活跃文档运行 lint
工具 → 检查 Markdown与快捷键相同
F2跳到下一个诊断
Shift + F2跳到上一个诊断

对于带有文件路径的 markdown 文件,链接存在性检查会与同步规则一起自动运行 —— 见链接检查

对于 YAML 文件,解析错误在你输入时即时显示在行号槽中,同样的 Cmd-Shift-L 快捷键会填充徽章并启用 F2 导航。

设置

Lint 引擎只有一个面向用户的开关:

  • 设置 → Markdown → 启用 Markdown 检查 —— 完全开启或关闭引擎

禁用时,快捷键变为无操作,行号槽中也不会出现诊断。

另请参阅