VSCodeでMarkdownを書く最適な環境を構築する
Visual Studio Code(VSCode)は、Markdownファイルの編集において非常に優れた機能を備えています。標準機能だけでもプレビューや基本的なシンタックスハイライトが利用できますが、VSCode Markdown拡張機能を導入することで、執筆効率は飛躍的に向上します。
本記事では、VSCodeでMarkdownを快適に執筆するための環境構築を、拡張機能の選定から設定のカスタマイズまで体系的に解説します。技術ブログの執筆、プロジェクトドキュメントの作成、READMEファイルの整備など、あらゆるMarkdown執筆シーンで活用できる実践的なガイドです。
この記事で得られること
- VSCode標準のMarkdown機能の理解
- 目的別のおすすめMarkdown拡張機能
- settings.jsonによる最適な設定方法
- 執筆効率を高めるショートカットとテクニック
前提条件と実行環境
本記事の内容を実践するための環境要件は以下のとおりです。
| 項目 | 要件 |
|---|---|
| VSCode | バージョン1.80以上 |
| OS | Windows 10/11、macOS 10.15以上、Linux |
| Node.js | 一部拡張機能で必要(18.x以上推奨) |
VSCode標準のMarkdown機能
VSCodeには、拡張機能なしでも利用できるMarkdown機能が搭載されています。
| 機能 | 説明 | ショートカット |
|---|---|---|
| プレビュー表示 | Markdownのレンダリング結果を確認 | Ctrl+Shift+V |
| サイドプレビュー | エディタ横にプレビューを表示 | Ctrl+K V |
| シンタックスハイライト | Markdown構文の色分け表示 | 自動 |
| アウトライン表示 | 見出し構造をツリー表示 | サイドバーから |
これらの標準機能に加えて、拡張機能を導入することで、より高度なMarkdown編集環境を構築できます。
必須のVSCode Markdown拡張機能
Markdown執筆の生産性を最大化するために、以下の拡張機能を導入することを強く推奨します。
Markdown All in One
Markdown All in Oneは、VSCodeでMarkdownを書くための統合拡張機能です。インストール数は1,200万を超え、最も人気のあるMarkdown拡張機能のひとつです。
主な機能
| 機能 | 説明 |
|---|---|
| キーボードショートカット | 太字、斜体、リンク挿入などの操作をキー一発で実行 |
| 目次の自動生成 | 見出しから目次を自動生成・更新 |
| リスト編集支援 | Enterキーで自動的にリスト記号を挿入 |
| テーブル整形 | 表の列幅を自動調整 |
| HTML出力 | MarkdownをHTMLファイルに変換 |
インストール方法
VSCodeのコマンドパレット(Ctrl+Shift+P)を開き、以下を入力します。
ext install yzhang.markdown-all-in-one
または、拡張機能パネル(Ctrl+Shift+X)で「Markdown All in One」を検索してインストールします。
便利なショートカット
Markdown All in Oneが提供する主要なショートカットは以下のとおりです。
| 操作 | Windows | Mac |
|---|---|---|
| 太字 | Ctrl+B |
Cmd+B |
| 斜体 | Ctrl+I |
Cmd+I |
| 取り消し線 | Alt+S |
Option+S |
| タスクリストのチェック切替 | Alt+C |
Option+C |
| テーブル整形 | Shift+Alt+F |
Shift+Option+F |
目次の自動生成
コマンドパレットから「Markdown All in One: Create Table of Contents」を実行すると、現在の見出し構造から目次を自動生成します。
|
|
ファイル保存時に目次を自動更新する設定も可能です。
markdownlint
markdownlintは、Markdownファイルの品質を維持するためのリンター(静的解析ツール)です。一貫性のないスタイルや潜在的な問題を検出し、警告を表示します。
主な検出ルール
markdownlintは60以上のルールを持ち、以下のような問題を検出します。
| ルールID | 説明 |
|---|---|
| MD001 | 見出しレベルの飛び越し(H1からH3への直接遷移など) |
| MD009 | 行末の不要な空白 |
| MD012 | 連続する空行 |
| MD022 | 見出しの前後に空行がない |
| MD032 | リストの前後に空行がない |
| MD040 | コードブロックに言語指定がない |
インストール方法
ext install DavidAnson.vscode-markdownlint
設定のカスタマイズ
プロジェクトルートに.markdownlint.jsonを作成することで、ルールをカスタマイズできます。
|
|
各設定項目の意味は以下のとおりです。
| 設定 | 説明 |
|---|---|
MD013: false |
行の長さ制限を無効化 |
MD033.allowed_elements |
許可するHTML要素を指定 |
MD041: false |
ファイル先頭がH1でなくても許可 |
自動修正機能
markdownlintは多くの問題を自動修正できます。以下の設定をsettings.jsonに追加すると、ファイル保存時に自動修正が実行されます。
|
|
Markdown Preview Enhanced
Markdown Preview Enhancedは、VSCode標準のプレビュー機能を大幅に強化する拡張機能です。Mermaid、PlantUML、数式レンダリングなど、高度なプレビュー機能を提供します。
主な機能
| 機能 | 説明 |
|---|---|
| Mermaidダイアグラム | フローチャート、シーケンス図などを描画 |
| PlantUML | UML図を描画 |
| KaTeX/MathJax | 数式をレンダリング |
| PDF/HTMLエクスポート | 複数形式への出力 |
| プレゼンテーションモード | スライド形式で表示 |
インストール方法
ext install shd101wyy.markdown-preview-enhanced
Mermaid記法の例
Markdown Preview Enhancedでは、以下のようなMermaid記法をプレビュー上でレンダリングできます。
graph TD
A[Markdownファイル作成] --> B[VSCodeで編集]
B --> C{プレビュー確認}
C -->|問題なし| D[コミット]
C -->|修正が必要| Bショートカット
| 操作 | Windows | Mac |
|---|---|---|
| プレビューを横に開く | Ctrl+K V |
Cmd+K V |
| プレビューを新タブで開く | Ctrl+Shift+V |
Cmd+Shift+V |
| プレビューと編集の同期 | Ctrl+Shift+S |
Cmd+Shift+S |
補助的なVSCode Markdown拡張機能
必須ではありませんが、用途に応じて導入を検討すべき拡張機能を紹介します。
Paste Image
Paste Imageは、クリップボードの画像をMarkdownファイルに直接貼り付ける拡張機能です。スクリーンショットを多用する技術記事の執筆に便利です。
ext install mushan.vscode-paste-image
デフォルトではCtrl+Alt+V(Mac: Cmd+Option+V)で画像を貼り付けられます。
Markdown Table
Markdown Tableは、テーブルの作成と編集を支援する拡張機能です。Excelライクな操作でテーブルを編集できます。
ext install TakumiI.markdowntable
Markdown Footnotes
Markdown Footnotesは、脚注記法のシンタックスハイライトとプレビューを提供します。
ext install bierner.markdown-footnotes
VSCode Markdown設定のカスタマイズ
拡張機能の導入に加えて、settings.jsonをカスタマイズすることで、Markdown編集環境をさらに最適化できます。
推奨設定
以下は、Markdown執筆に最適化されたsettings.jsonの設定例です。
|
|
設定項目の解説
各設定項目の目的と効果を解説します。
| 設定 | 説明 |
|---|---|
editor.wordWrap |
長い行を自動的に折り返して表示 |
editor.quickSuggestions |
入力補完を有効化 |
editor.tabSize |
インデント幅を2スペースに設定 |
editor.formatOnSave |
保存時に自動フォーマット |
editor.rulers |
80文字と120文字の位置にガイドラインを表示 |
markdown.extension.toc.updateOnSave |
保存時に目次を自動更新 |
プロジェクト固有の設定
チームでMarkdownの執筆ルールを統一する場合は、.vscode/settings.jsonにプロジェクト固有の設定を記述します。
|
|
推奨拡張機能の共有
チームメンバーに拡張機能のインストールを促すには、.vscode/extensions.jsonを作成します。
|
|
この設定により、プロジェクトを開いた際に推奨拡張機能のインストールを促すポップアップが表示されます。
実践的なMarkdown執筆ワークフロー
ここまでの設定を活用した、効率的なMarkdown執筆ワークフローを紹介します。
ワークフロー図
graph LR
A[新規ファイル作成] --> B[アウトライン作成]
B --> C[本文執筆]
C --> D[プレビュー確認]
D --> E{markdownlintチェック}
E -->|エラーあり| F[修正]
F --> D
E -->|エラーなし| G[目次生成]
G --> H[保存・コミット]Step 1: テンプレートの活用
VSCodeのスニペット機能を使って、Markdownファイルのテンプレートを登録しておくと便利です。
.vscode/markdown.code-snippetsに以下を追加します。
|
|
Step 2: 執筆と同時プレビュー
Ctrl+K Vでサイドプレビューを開き、編集とプレビューを同時に確認しながら執筆を進めます。Markdown Preview Enhancedを使用している場合は、スクロール同期機能により、編集位置とプレビュー位置が自動的に連動します。
Step 3: リアルタイムリンティング
markdownlintが有効な状態では、問題のある箇所にリアルタイムで波線が表示されます。問題箇所にカーソルを合わせてCtrl+.を押すと、クイックフィックスが提案されます。
Step 4: 最終確認と目次生成
本文の執筆が完了したら、コマンドパレットから「Markdown All in One: Create Table of Contents」を実行して目次を生成します。markdown.extension.toc.updateOnSaveを有効にしておけば、以降の保存で目次が自動更新されます。
トラブルシューティング
VSCodeでMarkdownを編集する際によく発生する問題と解決策を紹介します。
プレビューが表示されない
原因: 拡張機能の競合または設定の問題
解決策:
- VSCodeを再起動する
- 拡張機能を無効化して標準プレビューが動作するか確認
markdown.preview.breaks設定を確認
markdownlintの警告が多すぎる
原因: プロジェクトのスタイルに合わないルールが有効になっている
解決策: .markdownlint.jsonで不要なルールを無効化
|
|
日本語の入力がおかしい
原因: IMEとVSCodeの相性問題
解決策: 以下の設定を追加
|
|
まとめ
VSCodeでMarkdownを書くための環境構築について解説しました。要点を整理します。
| 拡張機能 | 用途 | 優先度 |
|---|---|---|
| Markdown All in One | 統合編集支援 | 必須 |
| markdownlint | 品質チェック | 必須 |
| Markdown Preview Enhanced | 高機能プレビュー | 推奨 |
| Paste Image | 画像貼り付け | 任意 |
VSCodeとこれらの拡張機能を組み合わせることで、以下の効果が期待できます。
- ショートカットによる執筆速度の向上
- リンターによる品質の均一化
- プレビュー機能による確認作業の効率化
- チーム設定の共有による協業の円滑化
Markdown執筆環境を整備することで、技術ドキュメントやブログ記事の執筆がより快適になります。本記事で紹介した設定を参考に、自身のワークフローに最適な環境を構築してください。