1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

draw.io で図が複雑になってきたときに使いたい自作プラグイン3つ

1
Posted at

はじめに

draw.io、または diagrams.net は、ちょっとした説明図から業務フロー、構成図、画面遷移図まで幅広く使える便利な作図ツールです。

ただ、使い込んでいくと「作図そのもの」よりも、周辺の操作に時間を取られる場面があります。

  • 同じ図形設定を何度も切り替える
  • グループ化した図形の中身が追いにくい
  • 背面に隠れた図形を選択しづらい
  • コネクタの端点や中間点が小さくて掴みにくい
  • 高解像度ディスプレイでハンドルが細かすぎる

この記事では、そうした draw.io 利用時の小さなストレスを減らすために作った3つのプラグインを紹介します。

リポジトリはこちらです。

この記事の対象読者

  • draw.io を日常的に使っている人
  • 複雑な図面で図形選択や重なり順の管理に困ったことがある人
  • 図形の設定やスタイルを何度も手作業で変更している人
  • 4K など高解像度環境でハンドル操作がつらい人

プラグイン開発の解説ではなく、利用者目線で「何が便利になるか」を中心に書きます。

作ったプラグイン

プラグイン 目的 向いている場面
Quick Styler 図形の設定変更を右クリックから素早く行う 同じプロパティやスタイルを何度も使う
Hierarchy Viewer 図面内の階層と重なり順を見える化する グループや重なりが増えて選択しづらい
Handle Scaler ハンドルや接続ポイントを大きくする コネクタやリサイズハンドルが掴みにくい

Quick Styler: よく使う図形設定を右クリックから扱う

draw.io では図形ごとに細かいスタイルを設定できますが、毎回サイドバーやスタイル文字列を触るのは少し面倒です。

Quick Styler は、よく使う図形プロパティを右クリックメニューから切り替えられるようにするプラグインです。

Quick Styler

便利になる操作

  • 図形のリサイズ可否を切り替える
  • 図形の移動可否を切り替える
  • 縦横比固定を切り替える
  • ラベル表示を切り替える
  • 接続可否を切り替える
  • 接続ポイントの制限をプリセットから選ぶ
  • よく使う見た目を保存して別の図形に適用する

例えば「この図形は動かしたくない」「この部品は接続不可にしたい」「同じ色と枠線を別の図形にも当てたい」といった操作を、右クリックから済ませられます。

スタイル保存もできる

Quick Styler には、選択中の図形スタイルを名前付きで保存する機能もあります。

保存したスタイルは右クリックメニューから再適用できます。よく使う色、枠線、文字設定を毎回作り直さなくてよくなります。

保存先はブラウザの localStorage です。チーム共有というより、自分用の作業効率化に向いています。

Hierarchy Viewer: 複雑な図面の「どこに何があるか」を見る

図面が大きくなると、どの図形がどのグループに入っているのか、どれが前面でどれが背面なのかが分かりにくくなります。

Hierarchy Viewer は、図面内のオブジェクトをツリーで表示するプラグインです。

Hierarchy Viewer

便利になる操作

  • 図形やグループの親子関係を見る
  • 重なり順を見る
  • 一覧から図形を選択する
  • エディタ上の選択を一覧側にも反映する
  • 図形の表示・非表示を切り替える
  • ドラッグ&ドロップで階層や重なり順を変える
  • F2 または鉛筆ボタンで名前を編集する

特に便利なのは、背面に隠れている図形や、グループの奥にある図形を一覧から直接選べることです。

draw.io 標準のキャンバス操作だけだと、目的の図形をクリックするために一時的に図形をどかしたり、何度もクリックを重ねたりすることがあります。Hierarchy Viewer があると、ツリーから対象を選べます。

重なり順も確認できる

各項目には Z: インデックス / 最大インデックス のように重なり順を表示します。

「この図形が前に来ているはずなのに見えない」「線が図形の裏に回ってしまった」といったときに、どの順番になっているかを確認しやすくなります。

Handle Scaler: ハンドルや接続ポイントを掴みやすくする

draw.io のハンドルは標準だと小さめです。特に高解像度ディスプレイでは、コネクタの端点や中間点を正確に掴むのがつらいことがあります。

Handle Scaler は、選択ハンドル、コネクタハンドル、接続ポイントを大きくするプラグインです。

Handle Scaler

便利になる操作

  • 図形のリサイズハンドルを大きくする
  • コネクタの開始点を大きくする
  • コネクタの中間点を大きくする
  • コネクタの終了点を大きくする
  • 接続ポイントの表示サイズを大きくする
  • 接続ポイントの判定範囲を広げる

単純にハンドルを大きくするだけでなく、ズーム倍率に応じてサイズを変えるようにしています。

コネクタ用ハンドルを個別調整できる

コネクタの開始点・中間点・終了点は、それぞれ別の初期値を設定できます。

edgeStartHandleSize: 26,
edgeMiddleHandleSize: 22,
edgeEndHandleSize: 26

端点はしっかり掴みたいので大きめ、中間点は邪魔になりすぎないよう少し小さめ、という調整にしています。

拡大縮小は倍率で指定する

ハンドルサイズは、固定の最大ピクセル数ではなく倍率で指定しています。

minHandleScale: 0.25,
maxHandleScale: 4,
maxPointScale: 2

例えば edgeStartHandleSize26 なら、最大は 26 * 4 = 104px です。ズームアウト時は minHandleScale に従って小さくなりますが、操作不能にならないよう最低サイズも確保しています。

インストール方法

各プラグインは、draw.io のプラグイン機能で読み込めます。

  1. GitHub から使いたい .js ファイルを取得する
  2. draw.io を開く
  3. その他 > プラグイン... を開く
  4. 追加 を押す
  5. プラグインファイルの URL またはローカルパスを指定する
  6. draw.io を再読み込みする

デスクトップ版 draw.io でプラグインを使う場合は、起動オプションが必要です。

draw.io.exe --enable-plugins

更新が反映されないとき

ブラウザ版では、プラグインファイルがキャッシュされることがあります。

更新したのに動きが変わらない場合は、次のどちらかを試すと切り分けやすいです。

  • プラグイン URL に ?v=2 のようなクエリを付ける
  • プラグイン登録を一度削除して再追加する

Handle Scaler は読み込み時に Console へ設定値を出すようにしています。読み込まれているか確認したい場合は DevTools の Console を見ます。

Handle Scaler: loaded (...)

注意点

draw.io のプラグインは JavaScript として実行されます。

便利ではありますが、任意のコードを draw.io 内で実行する仕組みでもあります。自分で内容を確認できるコード、または信頼できるコードだけを読み込むようにしてください。

おわりに

今回のプラグインは、draw.io の作図機能そのものを大きく変えるものではありません。

ただ、日常的に draw.io を使っていると、図形設定、階層確認、ハンドル操作のような小さな手間が積み重なります。そこを少しでも減らすための道具として作りました。

特に次のような人には向いていると思います。

  • 図形の設定をよく切り替える人
  • 大きめの図面やグループを多用する人
  • コネクタ操作でよく狙いを外す人

ソースコードはこちらです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?