Skip to content

Markdown Lint

VMark には、スタイルの好みではなく 正しさの問題 をキャッチする組み込みの Lint エンジンが搭載されています。Lint はオンデマンド(Cmd-Shift-L または ツール → Markdown をチェック)で実行され、結果はガター(行番号エリア)の波線としてインラインに表示されます。ステータスバーのバッジと F2 キーで検出箇所を移動できます。

Lint が対象とするもの・しないもの

VMark の Lint は 正しさ のチェッカーです:

  • 壊れたクロスリファレンス
  • 未定義のリンク/フットノート参照
  • 閉じられていないコードフェンス
  • 列数が一致しないテーブル
  • レベルが飛んでいる見出し(h1 → h3)
  • alt テキストのない画像
  • 空のリンクテキストまたは空の href

VMark の Lint は スタイル強制ツールではありません。以下の項目はフラグ付けされません:

  • 行の長さ
  • リストマーカーのスタイル(- vs *
  • 強調マーカーのスタイル(_ vs *
  • 見出しスタイル(# vs アンダーライン)
  • 行末の空白

スタイル強制には、VMark の外で prettier --check のような別のツールを使用してください。

ルールリファレンス

ルール ID重要度説明
E01エラー未定義の参照: [link][missing] が存在しない定義を指している
E02エラーテーブルの行の列数が誤っている(ヘッダー行と不一致)
E03エラーリンクが逆向き — (text)[url][text](url) ではなく書かれている
E04エラーATX 見出しの # の後にスペースがない(例: ##Heading## Heading であるべき)
E05エラー強調マーカーの内側にスペースがある — * word * はイタリックとしてレンダリングされない
E06エラー閉じられていないコードフェンスブロック — ファイルが開かれた ``` フェンスで終了している
E07エラーリンク参照定義の重複(同じ [label]: が 2 回現れる)
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 ファイルでは、同期ルールと並行してリンクの存在チェックも自動的に実行されます — Link Check を参照してください。

YAML ファイルでは、入力中にパースエラーがガターにライブ表示され、同じ Cmd-Shift-L ショートカットでバッジと F2 ナビゲーションが反映されます。

設定

Lint エンジンには 1 つのユーザー向けトグルがあります:

  • 設定 → Markdown → Markdown Lint を有効化 — エンジン全体のオン/オフ

無効化されている場合、ショートカットは何もせず、ガターに診断は表示されません。

関連項目