Webプレビューなどのプラグインのペインが開いているか否か調べる方法はありますか
-
こん(にち|ばん)は。
Webプレビューなど、ペインが開くタイプのプラグインを使う際、「現在プラグインのペインが開いているかどうか」を調べる方法はありませんでしょうか。アウトプットバーはVisibleプロパティで簡単に判定できますが、もっと面倒/トリッキーな方法でもOKです。
というのも、Webプレビューを開いたまま、CSSファイルやJavaScriptファイルなど(レンダリングできない種類のファイル)にタブを切り替えると、「このファイルを開くか、または保存しますか?」というダイアログが毎回表示されて、わずらわしいのです。
プラグインのペインを、(プラグインの番号が固定された状況であれば)ExecuteCommandByIDでトグルできることは理解しています。現在ペインが開いているのかわかれば、タブの切り替えなどのイベントで適切なマクロを書けそうなのですが。
本当は、切り替わった先のドキュメントの編集モードが「HTML」でなければ、Webプレビューのペインが閉じるとか、直前のドキュメントをレンダリングしたまま、といった動作であればマクロを書くまでもないですね。
| Daregada | 返信 -
こんにちはw
> 「現在プラグインのペインが開いているかどうか」を調べる方法はありませんでしょうか。
プラグインならできますが、マクロからだと厳しそうですね。
ちょっとすぐには思いつきませんが、面倒・トリッキーな方法ならあるかもしれません。ここのフォーラムにはマクロにお詳しい人がたくさんいらっしゃるので、妙案をいただけるかもしれません。> 「このファイルを開くか、または保存しますか?」というダイアログが毎回表示されて、わずらわしいのです。
以前に、なんとか抑制しようと調査したことがあるのですが、結局、タイマーで監視して「保存しますか?」のダイアログが表示されたらそのダイアログの閉じるボタンをプログラムからクリックさせる、みたいなアナログな手法しか見つかりませんでしたので実装していませんでした。
> 本当は、切り替わった先のドキュメントの編集モードが「HTML」でなければ、Webプレビューのペインが閉じるとか、直前のドキュメントをレンダリングしたまま、といった動作であればマクロを書くまでもないですね。
そうですね。
いろいろ悩むよりプラグイン側でそういう制御をいれるのが一番簡単ですね。「HTML」限定に決め打ちするのもアレなので、編集モードに応じて Web プレビューの表示・非表示を切り替え出来るような仕組みも検討してみます。| Kuro | 返信 -
お返事ありがとうございます。
> プラグインならできますが、マクロからだと厳しそうですね。
> ちょっとすぐには思いつきませんが、面倒・トリッキーな方法ならあるかもしれません。ここのフォーラムにはマクロにお詳しい人がたくさんいらっしゃるので、妙案をいただけるかもしれません。とりあえず自力で作ってみたマクロが、「マクロからWebプレビューを切り替えたときに、適当な場所に適当な名前のファイルを作成・削除する」というもの(ロックファイル風に)。
ロックファイルが存在すれば、現在Webプレビューが開いていて、存在しなければ閉じていると判断し、文書の編集モードに応じて、「Webプレビューの切り替え」と「ロックファイルの生成・削除」を同期して行ないます。
これを、「アクティブな文書の変更」「ファイルを開く」「編集モードの変更」あたりのイベントに登録してやると、タブの切り替えなどに連動してWebプレビューが開いたり閉じたりします。また、「ファイルを閉じる」には、ロックファイルがあれば削除するマクロを別途登録します。
結果として、手動でWebプレビューを切り替えたりしなれば、なんとか希望通りの動作になります。ただ、オプション設定ダイアログで何かしたりしたときなど、勝手にWebプレビューが閉じてしまうことがあり、そうするとロックファイルとWebプレビューの同期が取れなくなってしまいます。
> いろいろ悩むよりプラグイン側でそういう制御をいれるのが一番簡単ですね。「HTML」限定に決め打ちするのもアレなので、編集モードに応じて Web プレビューの表示・非表示を切り替え出来るような仕組みも検討してみます。
ありがとうございます。
| Daregada | 返信 -
ご連絡ありがとうございます。
お手数をおかけします^^;
Web プレビュープラグインを編集モードごとにオン・オフする設定ですが、とりあえず形になりましたので近日中には公開できると思いますので今しばらくお待ちくださいませ。| Kuro | 返信