Genkou Sheet — 原稿用紙エディタ for VS Code
Genkou Sheet (genkou-sheet) は、Visual Studio Code のエディタ画面自体に常時「原稿用紙の格子(マス目)」を敷き、縦書き・横書きで直接日本語入力(タイピング・IME変換)ができる小説・文章執筆用拡張機能です。
文字数・原稿用紙換算カウント、ルビ・傍点、原稿ツリー管理、組版出力などの執筆支援機能を備え、「指定した執筆用フォルダーだけで機能し、他のプログラミング用プロジェクトには一切干渉しない」 設計になっています。

画面例の本文は、青空文庫の夏目漱石「吾輩は猫である」より。
主な特徴 (Features)
- 原稿用紙のマス目に直接タイピング(縦書き・横書き両対応)
- 400字詰め(20字×20行、中央の「柱」・魚尾・ルビ用余白列付き)の原稿用紙グリッドを未入力部分も含めて常時描画します。
- 縦書き(標準)と横書きをツールバーからワンクリックで切り替え可能です。
- 罫線カラーは緑(コクヨ風)・赤(丸善・文豪風)・ダークモードから選択でき、マス目サイズ(文字数×行数)もカスタマイズ可能です。
- 対象フォルダー限定動作(他プロジェクトへの非干渉)
- 拡張機能をインストールしただけでは、普段のプログラミング用プロジェクトの
.txt や .md を乗っ取りません。
- コマンドパレットから
Genkou: このフォルダーを執筆プロジェクトとして有効化 を実行したフォルダー内でのみ原稿用紙エディタが有効になります。
- 原稿用紙ルール準拠の組版・執筆補助
- 青空文庫形式のルビ・傍点:
|漢字《かんじ》 や 《《傍点》》 を解析し、親文字のみマス目を消費してルビ欄(行間)に美しく描画します。
- 行末の禁則処理(ぶら下げ): 20マス目の直後に句読点(
、 。)や閉じ括弧(」 』)が来た場合、次行の先頭に送らず20マス目にぶら下げ(同居)表示します。
- 会話文ハイライト & 自動一字下げ: 会話文(
「… 」)の色分け表示と、段落改行(Enter)時の全角スペース自動挿入をサポートします。
- プロジェクト管理・出力機能
- リアルタイム文字数・枚数カウント: 実文字数(ルビ除外)、空白込み文字数、400字詰め換算枚数、実使用行数をステータスバーに常時表示。
- 原稿ツリー管理: サイドバーで複数ファイル(章・シーン)の順序並び替えと、プロジェクト全体の文字数・枚数集計を表示。
- 続きから執筆: 原稿を開くと、前回最後にカーソルがあった位置から表示されます。
- HTML / PDF 組版出力: 単一原稿または結合原稿を、印刷・PDF保存用の原稿用紙レイアウトで HTML 出力し、ブラウザから PDF 保存。
- 自動バックアップ(不慮の事故への備え)
- 入力から約1.5秒後に、編集中の原稿を VS Code の拡張機能専用領域へ自動保存します。保存していない内容も対象です。
- 5分ごとに世代を分けて、1ファイルあたり最大50世代を保持します。マシンの再起動・クラッシュ・「保存しない」で閉じてしまった場合も、
Genkou: 自動バックアップから原稿を復元 から差分を確認して戻せます。
- バックアップはプロジェクトフォルダーには作られないため、Git の差分や原稿ツリーを汚しません。
クイックスタート (Quick Start)
- VS Code で執筆用のフォルダーを開きます。
- コマンドパレット(
Cmd+Shift+P / Ctrl+Shift+P)を開き、以下を実行します:
Genkou: このフォルダーを執筆プロジェクトとして有効化
- フォルダー内の
.txt または .md ファイルを開くと、自動的に原稿用紙エディタが起動します。
- 設定を解除したい場合は
Genkou: 執筆プロジェクト設定を解除 を実行してください。
設定一覧 (Configuration)
| 設定キー |
説明 |
デフォルト値 |
genkouSheet.enabled |
現在のワークスペースで原稿用紙モードを有効にするか |
false |
genkouSheet.writingMode |
書字方向(vertical-rl: 縦書き / horizontal-tb: 横書き) |
"vertical-rl" |
genkouSheet.gridColor |
原稿用紙の罫線カラー(green / red / dark) |
"green" |
genkouSheet.charsPerLine |
1行あたりのマス数(文字数) |
20 |
genkouSheet.linesPerPage |
1ページあたりの行数 |
20 |
genkouSheet.highlightDialogue |
会話文を色分けするか |
true |
genkouSheet.autoIndent |
改行(Enter)時に行頭へ全角スペースを自動挿入するか |
true |
genkouSheet.backup.enabled |
編集中の原稿を自動バックアップするか |
true |
genkouSheet.backup.intervalMinutes |
新しいバックアップ世代を作る間隔(分) |
5 |
genkouSheet.backup.maxSnapshots |
1ファイルあたり保持するバックアップ世代数 |
50 |
使い方 (Usage)
キーボード操作
| 操作 |
キー |
| カーソル移動(縦書きでは ↑↓ が行内、←→ が行間) |
矢印キー |
| 範囲選択 |
Shift + 矢印キー / Shift + クリック / ドラッグ |
| ルビの挿入・編集 |
Cmd+R(macOS) / Ctrl+R(Windows・Linux)、またはマス目をダブルクリック |
| 字下げせずに改行 |
Shift+Enter |
| 元に戻す・やり直し |
VS Code 標準の Undo / Redo |
組版 HTML / PDF 出力
ツールバーの「組版・PDF出力」、ステータスバーの文字数表示のクリック、またはコマンド Genkou: 現在の原稿を組版HTML / PDF印刷用に書き出し で保存先を選んで HTML を出力します。出力された HTML をブラウザで開き、印刷機能から PDF として保存できます。原稿ツリー全体をまとめる場合は Genkou: 原稿ツリー全体を結合して組版HTML / PDF印刷用に書き出し を使います。
バックアップからの復元
コマンド Genkou: 自動バックアップから原稿を復元 を実行し、日時を選ぶと「原稿用紙で比較して、どちらかを採用」「テキストの差分を表示」「原稿をこの内容に戻す(Undo で取り消し可)」「新しい未保存タブで開く」から操作を選べます。
「原稿用紙で比較」では、左にバックアップ、右に現在の原稿を原稿用紙のまま並べ、左右が連動してスクロールします。変更のある段落は色付きで表示され、各側の上にある「こちら(…)を採用」ボタンで、残したい方を選べます。バックアップを採用した場合も、元に戻す (Undo) で取り消せます。閉じてしまった原稿や削除したファイルのバックアップも一覧から選べます。
テキストの差分画面では、左がバックアップ、右が差分を開いた時点の原稿で、変更箇所が色付きで表示されます。全文を戻すには、差分を開いたときの通知の「全文をこのバックアップに置き換える」か、差分画面右上のボタンを押します。一部だけ戻す場合は、左側から必要な箇所をコピーして原稿に貼り付けてください。戻した後は保存してください。
既知の制限 (Known Limitations)
- マルチルートワークスペースでは、最初のフォルダーだけが執筆プロジェクトの対象になります。
- 制限モード(Restricted Mode)の信頼されていないワークスペースでは、拡張機能は無効になります。
- 原稿ツリーの文字数は保存済みのファイルから集計します(未保存の編集は保存時に反映されます)。
ライセンス (License)
MIT License
不具合の報告・ご要望は GitHub Issues へお寄せください。
| |