はじめに
Draw.ioを使っていて、レイヤーの挙動に悩まされることが多かったので、自分なりにまとめてみました。
環境
2021/12/23 時点
VSCode Ver1.62.2
Drawio Integration Ver1.6.3
レイヤー機能
Draw.ioでは図形を各層ごとに分ける機能(レイヤー機能)が備わっており、この機能を上手に使うことで複雑なモデルの作成が容易になります。
こちらにレイヤー機能について詳しく載っています。
カキノタblog
他のレイヤーから図形を複製した時
複製された図形は選択先のレイヤーに配置されます。
この挙動はまだ直感的に理解しやすいですね。
レイヤーの異なる図形を接続した時
線や矢印などのコネクタは、異なるレイヤー配置の図形に接続することができます。
接続先の図形が非表示になるとそれに連動してコネクタも非表示になります。
コネクタが見当たらないと思ったら一度すべてのレイヤーを表示させて確認すると良いでしょう。
コネクタはレイヤーがロックされた状態でも接続先として参照してしまいます。
図形のプロパティを開いてConnectableのチェックを外すことでコネクタが接続しないようにできますが、関係ないレイヤーはレイヤーごと非表示にするほうが手っ取り早いです。
レイヤーの異なる図形をグループ化した時
レイヤーの異なる図形は[配置]-->[グループ化]でグループ化できないようになっていますが、あらかじめ作ったグループにドラッグ&ドロップすることでグループに追加することができます。
うっかりグループに追加してしまうと図形がグループ元のレイヤーに移動してしまうのでとても厄介です。
作業する際は必ず関係ないレイヤーがロックされているか確認しましょう。
また、一度グループ化した図形はドラッグ&ドロップでグループから除外すると選択先のレイヤーに配置されます。
コンテナも処理的にはグループと同じなため、コンテナの中に入れた図形はコンテナのレイヤーに配置されます。
最後に
レイヤーが複雑にならないようにするために、以下のことに気を付けましょう。
- 使わないレイヤーは必ずロックする。
- コネクタを使う時は関係ないレイヤーを非表示にする。
- 極力コンテナは使わない。
- もし使う場合はコンテナの中身はシンプルにするよう心掛ける。
Appendix
Draw.io Integration - Visual Studio Marketplace
VSCodeでDraw.ioが使えるようになったらしい! - Qiita
レイヤー - draw.io - カキノタblog