TL;DR
RPGツクールMZ(RMMZ)のプラグイン開発には専用ツールがほぼ存在しません。アノテーション補完もバリデーションもデバッガ統合もない。そこで VS Code 拡張機能 RMMZ Dev Tools を作りました。無料14機能 + Pro14機能。
- VS Marketplace(無料)
- GitHub
MZプラグイン開発の現状
RPGツクールMZのプラグインは JavaScript で書きます。/*: */ という独自アノテーション形式でパラメータやコマンドを定義しますが、これを支援するツールがありません。
/*:
* @target MZ
* @plugindesc 自作プラグインの説明
* @author 作者名
*
* @param MaxHP
* @text 最大HP
* @type number
* @min 1
* @default 100
* @desc 最大HPの設定値
*
* @command HealAll
* @text 全回復
* @desc パーティ全員を回復する
*/
このアノテーションを書くとき:
-
@typeに何が指定できるかわからない(24種以上ある) -
@paramの中で使えるタグ、@commandの中で使えるタグが違うが、どこにもドキュメントがない - タイプミスしても何のエラーも出ない
- デバッグは NW.js 用の古い拡張機能が必要で、Variables パネルの変数編集すらできない
要するに、2026年に2010年代のJavaScript開発体験を強いられています。
解決: RMMZ Dev Tools
アノテーション支援
@ を打つとコンテキストに応じた補完候補が出ます。@param ブロック内なら @text, @desc, @type, @min 等、トップレベルなら @param, @command, @base 等。
@type の後にスペースを打つと24種以上の型が説明付きで表示されます。struct<> やその配列型もスニペットで展開。
バリデーションはリアルタイムで動作し:
- タイプミス(
@commnd→ 「Unknown annotation tag: @commnd」) - スコープ違反(
@commandブロック内の@min) - 型とタグの不一致(
@type stringに@min) - 必須タグの不足(
@plugindesc,@target)
を検出します。
デバッガー: nwjs → chrome で変数編集を可能に
MZのテストプレイは NW.js(Chromium ベース)で動作します。既存の方法では VS Code の nwjs デバッグタイプを使いますが、これは旧 debugger-for-chrome ベースで setVariable リクエストをサポートしていません。Variables パネルで変数を書き換えようとすると Unrecognized request: setVariable エラーになります。
解決策はシンプルで、VS Code 組み込みの chrome デバッグタイプに切り替えるだけです。
{
"type": "chrome",
"request": "launch",
"name": "RMMZ Testplay (Debug)",
"runtimeExecutable": "path/to/nw.exe",
"runtimeArgs": [".", "--remote-debugging-port=9222"],
"webRoot": "${workspaceFolder}",
"port": 9222
}
chrome タイプは js-debug(VS Code 内蔵)が処理するため:
- 追加拡張機能が不要(nwjs-debug 拡張を入れなくていい)
-
setVariableが動く(Variables パネルで値をダブルクリック → 編集 → 即反映) - NW.js は Chromium ベースなので CDP 互換性に問題なし
runtimeArgs に "." を入れてカレントディレクトリ(= MZ プロジェクト)をアプリとして渡すのがポイントです。
その他の機能
無料(14機能):
| 機能 | 説明 |
|---|---|
| シンタックスハイライト |
/*:, /*:ja, /*~struct~ ブロックの色分け |
| スマートタグ補完 | コンテキスト対応の @tag 補完 |
| @type 補完 | 24種以上の型値を説明付きで表示 |
| バリデーション | タイプミス、スコープ違反、型不一致をリアルタイム検出 |
| ホバードキュメント |
@tag や @type にホバーで説明表示 |
| フォーマッター | アノテーションタグを正規順序に整列 |
| カラープロバイダー |
@default の16進カラーにインラインピッカー |
| 競合検出 | 同一メソッドを上書きする複数プラグインをCodeLensで警告 |
| 素材参照チェック |
@dir/@require の参照先ファイル存在確認 |
| IntelliSense セットアップ |
jsconfig.json 自動生成 |
| プラグインテンプレート | 正しいアノテーション付きの新規プラグインを生成 |
| クイックアクションパネル | 全コマンドをサイドバーに一覧表示 |
| データベースブラウザ | Actors, Items 等のデータファイルをツリー表示 |
| ノートタグインデックス | プロジェクト内の全ノートタグを一覧 |
Pro($12 買い切り、14機能):
| 機能 | 説明 |
|---|---|
| デバッガーセットアップ | ワンクリックで launch.json 生成、ポート自動修復 |
| クイックシーンリロード | プラグイン保存 → シーン即リロード |
| ライブゲームプレビュー | 実行中ゲームのスクリーンショットをリアルタイム表示 |
| テストプレイコンソール | ゲーム内 console.log を VS Code に取り込み |
| ゲーム状態インスペクター | マップ、パーティ、スイッチ、変数をライブ表示 |
| アノテーションプレビュー | プラグインマネージャでの表示をライブプレビュー |
| 依存関係グラフ | @base/@orderAfter の可視化、循環依存検出 |
| パラメータリネーム | @param リネームでコード内の参照も自動更新 |
| 多言語同期チェック |
/*: と /*:ja の構造一致を検証 |
| データホバー(Pro) |
$dataActors[3] ホバーでアクター名/ステータス表示 |
| 計算式評価 | ダメージ計算式ホバーで評価結果表示 |
| ノートタグエディター | ビジュアルWYSIWYGエディター |
| クラス階層ブラウザ | RMMZ クラス継承ツリーを検索・ジャンプ |
| プラグインレジストリ | プラグイン更新チェック |
デモ動画
デバッガーで $gameParty._gold を 9999999 に書き換えるデモです:
まとめ
MZプラグイン開発のツール不足は深刻ですが、VS Code 拡張機能でかなりのことができます。特にデバッガーの nwjs → chrome 切り替えは簡単で効果が大きいので、この拡張を使わなくても launch.json の type を変えてみてください。
- VS Marketplace(無料)
- Pro ライセンス(Gumroad)($12 買い切り)
- GitHub
- Discord