Skip to content

Console ja

Tom_XV edited this page Sep 23, 2026 · 5 revisions

English | 日本語

実験的な機能です。 Tool window ライブラリ 1.1.0 で入り、フレームワーク 1.2.0(2026-09-17)でリリースしたものです。

Tool window(F1。Options → Mods → Drag'n Wash ModFramework の Developer tools をオンにしたときだけ開きます)の Console タブでは、流れてくるログを色分けして見られて、コマンドも打てます。Mod を作ったりデバッグしたりする人向けなので、遊ぶだけなら使うことはありません。

ログ

BepInEx がログに書く行は、どの Mod のものも Unity のものも全部、レベルと出どころ(DragNWash.ModFramework.Assets や Unity Log のようなログソース名)付きでここに届きます。残しておくのは最新の 2,000 行です。BepInEx/LogOutput.log にはこれまでどおり全部書かれるので、Console は何を見せるかを選んでいるだけです。

レベル 色 主な用途
Fatal、Error 赤 クラッシュ、例外
Warning 琥珀 差し替えの衝突、読めないファイル、Direct3D 12 の注意
Message アクセント色 人に向けた結果(「3 か所に当てました」など)
Info 通常 ふつうの進行
Debug 薄い色 細かい追跡。初期設定では非表示

タブを開いていないときに Error が来ると、開くまでタブのボタンが Console ! になります。

Direct3D 12 では、Tool window 1.1.1 と中核 1.3.0 の組み合わせから、中核がフォントアトラスの転送をまとめている間も、Console は翻訳された文字を ? にせずに表示できます(クラッシュレポート を見てください)。

見るものを選ぶ

やり方は 3 通りあって、どれも同じ設定に書き込みます。設定は Tool window の設定ファイルに保存されるので、再起動しても残ります。

  • タブのボタンで、レベルごとに表示・非表示を切り替えたり、入力欄で出どころを絞り込んだりできます。
  • コマンドなら log show debug、log show info off、log level unity info、log level DragNWash.ModFramework.Assets debug、log level default warning、log filter Assets のように打ちます。
  • Mods 画面では、Options → Mods → Drag'n Wash ModFramework: Tool window → Console のセクションにある [Console] Show(表示するレベル)と [Console] Levels(出どころごとの一番低いレベル)で決めます。

初期設定では、Mod は Info 以上、Unity のログは Warning 以上が出て、Debug は隠れています。Error を隠すこともできますが、そのときはタブにそう出るので、うっかり見落とすことはありません。

コマンド

一番下の行に打って Enter を押します。打っている間は、次に来られる語が行の上に並びます。最初の語ならコマンド名、そのあとはコマンドが用意した候補(log ならレベルや出どころ、assets なら textures や reload など)です。Tab で選ばれている候補が入り、↑↓で候補を移って、Esc で閉じます。候補が出ていないときは、↑↓で履歴をたどれます。

コマンド 内容
help、help <名前> 一覧、または 1 つの説明
log <n> 最後の n 行
log show <level> [off]、`log level <source unity
mods 読み込まれたプラグインと、フレームワークが使えないと判断した機能
mods network 各 Mod が申告している接続先と、このセッションで実際に見られた接続(外と通信する Mod)
mods reload <guid>、`mods watch on off`
scene 読み込まれているシーン
clear、cls Console を消す(log clear と同じ)
assets textures [filter]、assets replacements、assets apply、assets reload Assets ライブラリのもの
inspect ... オブジェクトを選ぶ、値を設定する。Inspector ライブラリのもの
op ... Mod が登録した操作。下を参照(実験的な機能です)

コマンドが例外を投げると、持ち主の Mod 名といっしょに赤で表示されて、ほかには何も起きません。スクリプト言語はなく、作る予定もありません。コマンドは Mod が登録したものだけです。

操作:op

実験的な機能です。 フレームワーク 1.4.0 で入ったもので、この先のバージョンで変わったり、無くなったりするかもしれません。

op は 操作の登録簿 を使うためのコマンドです。登録簿には、各ライブラリができることが名前(library.noun.verb)付きで並んでいます。

コマンド 内容
op すべての操作を説明付きで一覧にする。何かを変える操作には [write] と付く
op help <名前> 1 つを説明する。読むだけか書き込むか、どの Mod のものか、各パラメーター(型、必須かどうか、受け付ける選択肢)、何を返すか
op <名前> key=value ... 実行し、結果を JSON で表示する。リストは 1 行に 1 件で、最後に件数が出る

補完では、まず操作の名前が、そのあとは選んだ操作のパラメーターが name= の形で出ます。key=value の形になっていない引数は受け付けず、代わりに操作の説明を出します。

Tool window 自身も log.read という操作を 1 つ登録していて、Console の最後の行を、新しいものが最後に来る順で返します。パラメーターは max(1〜500。省略すると 50)、source(出どころにこの文字を含む行だけ)、level(このレベルと、それより重いものだけ)です。たとえば op log.read max=20 level=Warning のように使います。

コマンドを足す

ToolWindow.AddCommand(MyMod.Guid, "tl", "tl reload | tl find <text>", args =>
{
    if (args.Length > 0 && args[0] == "reload") { Reload(); return "Reloaded."; }
    return "tl reload | tl find <text>";
});
  • 5 つ目の引数を渡すと補完を出せます。名前のあとに打たれた語(最後の語は打ちかけのもの、空白の直後なら "")を受け取って、そこに来られる語を返してください。
  • 名前は小文字の 1 語にします。別の Mod が先に同じ名前を登録していたら、あなたのコマンドは あなたのguid:name でしか動かず(最後のドットより後ろの短い形でも動きます)、help には両方が並びます。
  • 表示したい文字列を返してください。改行は \n です。セーブを書き換えるような、うっかり動かすと困るものは --yes 引数を求めるようにしてください。
  • ほかの場所から表示したいときは ConsoleLog.Print(text, LogLevel) を使います。ふつうの BepInEx のログは、Mod 名付きでそのまま出ます。
  • コマンドの文字は ASCII にするか、表示する文字を ToolWindow.PrepareCharacters に通してください(ウィンドウのフォントは起動時に描画されるためです)。

Clone this wiki locally