Markdown に図を埋め込むのに mermaid を使う場面が増えました。以前の VSCode では描画に拡張機能が必要でしたが、バージョン 1.121 で mermaid のレンダリングが本体に取り込まれ、何も入れなくてもプレビューに図が出るようになりました。
この記事では、VSCode で mermaid の図を描く手順と、設定・プレビュー上の操作・うまく描画されないときの見分け方をまとめます。手元の VSCode 1.132.1(Windows)で実際に描画を確認しながら書いています。

1. VSCodeは拡張機能なしでmermaidが描ける
VSCode 1.121(2026年5月)のリリースノートによると、Matt Bierner 氏の拡張機能「Markdown Preview Mermaid Support」が本体に統合され、Mermaid Markdown Features という組み込み拡張になりました。同梱されているため、無効化はできてもアンインストールはできません。
描画されるのは次の3か所です。
- Markdown プレビュー
- ノートブックの Markdown セル
- チャット
つまり、README や手順書を書くときも、Jupyter のセルでも、同じ書き方が使えます。VSCode の Markdown 環境そのもののセットアップは以下にまとめています。
VSCodeで超快適なMarkdownエディタ環境を作る【プレビュー/画像貼付/目次/PlantUML】
2. 実際に図を描いてみる
.md ファイルの中に、コードフェンス(バッククォート3つ)の言語指定を mermaid にしたブロックを書きます。あとは Ctrl+Shift+V でプレビューを開くだけです(横に並べたい場合は Ctrl+K V)。
flowchart TB
subgraph office[社内LAN]
direction LR
PC[業務端末] --> PRX[プロキシ]
end
PRX --> SAAS[SaaS]
左にソース、右にプレビューを並べると次のようになります。エディタを保存しなくても入力に追従して描き直されます。

上の図では subgraph の中で direction LR を指定し、グループの中だけ流れる向きを変えています。ネットワーク構成のように「箱の中は横並び、全体は縦」という図を書くときに効きます。
シーケンス図も同じフェンスの中に書けます。
sequenceDiagram
autonumber
利用者->>ヘルプデスク: 障害連絡
ヘルプデスク->>基盤担当: エスカレーション
基盤担当-->>利用者: 復旧報告
ファイルを保存しなくても、外部のツールがファイルを書き換えた場合もプレビューは自動で追従します。スクリプトで生成した図を確認しながら調整する、といった使い方もできます。
3. プレビューの上でできる操作
描画された図にカーソルを合わせると、右上にズーム用のボタンが4つ出ます。左からパンモードの切り替え・縮小・拡大・パンとズームのリセットです。

大きな構成図をプレビューから離れずに拡大できるので、以前の拡張機能より扱いやすくなっています。
図を右クリックすると、次の3つが選べます。
| メニュー | 動作 |
|---|---|
| エディターでダイアグラムを開く | その図だけを別タブで大きく表示する |
| ダイアグラム ソースのコピー | mermaid のソーステキストをコピーする |
| パンとズームのリセット | 拡大・移動した表示を元に戻す |
画像として保存するコマンドはありません。 図をファイルとして持ち出したい場合は、GitHub や GitLab に置いてそちらの表示を使うのが手っ取り早い方法になります。
4. 設定で変えておきたい項目
設定は markdown-mermaid で始まるキーにまとまっています。既定値は次の通りです。
| 設定キー | 既定値 | 内容 |
|---|---|---|
markdown-mermaid.lightModeTheme | vscode | ライトモードでのテーマ |
markdown-mermaid.darkModeTheme | vscode | ダークモードでのテーマ |
markdown-mermaid.languages | ["mermaid"] | 図として扱うフェンスの言語 |
markdown-mermaid.maxTextSize | 50000 | 1つの図に書ける最大文字数 |
markdown-mermaid.mouseNavigation.enabled | alt | マウス操作を有効にする条件 |
markdown-mermaid.controls.show | onHoverOrFocus | ズームボタンを出す条件 |
markdown-mermaid.resizable | true | 下端のドラッグで高さを変えられるか |
markdown-mermaid.maxHeight | 空 | 図の最大の高さ(400px など) |
テーマの既定値 vscode は、エディタのカラーテーマから色を作るという意味です。ダークテーマで使っていると図も暗い配色になります。印刷したり社外に配る資料に貼るなら、白黒でも読める neutral を明示しておくと安全です。
{
// エディタのテーマに引きずられないよう固定する
"markdown-mermaid.lightModeTheme": "neutral",
"markdown-mermaid.darkModeTheme": "neutral",
// ズームボタンを常に出す
"markdown-mermaid.controls.show": "always"
}
なお、記事内で %%{init: {'theme':'forest'}}%% と書いてもテーマは変わりませんでした。設定側のテーマが優先されるためです。他のツールで使い回す .md にテーマ指定を書いている場合は、VSCode 上では見え方が変わる点に注意してください。
チーム内で設定を揃える方法は以下にまとめています。
5. 新しい記法がそのまま使える
VSCode 1.132.1 に同梱されている mermaid は 11.15.0 でした。実際に描画を通して確認したところ、次の記法がすべて描画できています。
flowchart/sequenceDiagram/classDiagram/erDiagram/gitGraphsubgraphの中のdirectionmindmap/timeline/quadrantChartarchitecture-beta/packet-beta/treemap-beta/radar-beta/kanban
ここがエディタによって差が出るところです。同じ .md でも、描画するエンジンのバージョンが古いと新しい記法は構文エラーになります。PyCharm で試したときは mermaid 8.9.1 が使われていて、mindmap も subgraph 内の direction も通りませんでした。

PyCharm 側の検証結果と記法のまとめは以下に書いています。
PyCharmのMarkdownでmermaidのフロー図を書く【記法まとめとバージョンの罠】
6. うまく描画されないときの見分け方
6.1 構文が間違っている場合
図の代わりに、次のようなエラーがそのまま表示されます。
Parse error on line 2:
... A[障害の連絡を受ける --> B{他の利用者も同じ症状か} B
-----------------------^
Expecting 'SQE', 'DOUBLECIRCLEEND', 'PE', '-)', 'STADIUMEND', 'SUBROUTINEEND',
'PIPE', 'CYLINDEREND', 'DIAMOND_STOP', 'TAGEND', 'TRAPEND', 'INVTRAPEND',
'UNICODE_TEXT', 'TEXT', 'TAGSTART', got 'DIAMOND_START'
実際の画面では、図が表示されるはずの場所にそのままエラーが出ます。

行番号とキャレットで位置が示されるので、どこで閉じ忘れたかがすぐ分かります。上の例では A[障害の連絡を受ける の角括弧を閉じていないことが原因です。
6.2 図にならずコードのまま表示される場合
フェンスの言語指定が mermaid になっているかを確認します。それでも変わらない場合は、組み込み拡張が無効化されていないかを見てください。
6.3 別のプレビューが開いている場合
これが分かりにくいところです。Markdown Preview Enhanced を入れていると、エディタ右上のプレビューボタンがそちらに置き換わります。手元の環境では Ctrl+K V も Markdown Preview Enhanced 側の割り当てになっていました。
組み込みのプレビューを明示的に開くには、タブ上部の ... から Reopen Editor With を選びます。手元の環境では次の4つが並びました。
- テキスト エディター – ビルトイン
- Markdown Preview Enhanced
- Markdown Preview – ビルトイン ← これが組み込み
- Markdown Editor (Experimental) – ビルトイン
拡張機能を入れていない環境なら、この操作は不要です。
7. まとめ
VSCode で mermaid の図を描く手順をまとめました。要点は次の3つです。
- 1.121 以降は拡張機能を入れなくても描画される。Markdown プレビュー・ノートブック・チャットの3か所が対象
- テーマの既定は
vscode(エディタのテーマ由来)。配布する資料に使うならneutralを明示する - 新しい記法が使えるかどうかは、エディタが持つ mermaid のバージョンで決まる
図をコードと同じリポジトリで管理できるようになると、構成図の更新漏れが減ります。まずは手元の README のフロー図を1枚 mermaid に置き換えるところから試してみてください。
作図ツールそのものを使いたい場合は、draw.io を VSCode から扱う方法もあります。

コメント