IllustratorのCEPでデバッグをやりやすくする。

Illustrator, javascript

Photoshopに比べて謎な使用の多いIllustratorのCEPですが一番不便なのがデフォルトだとデバッグ時にIllustraotr本体のソフトを一々落とさないとコードの変更が反映されないとこです。Photoshopでいうところの強制Persistentです。参考Photoshop Extensionの開発11 Persistence

IllustratorだとデフォルトでこのPersistentがオンになっている故にパネルを一度閉じてもコードの修正が反映されないのです。だからと言ってコードを書き直す度にIllustrator本体を落としてデバッグするのはかなりめんどくさいです。というわけでパネルを閉じて開き直した時に再度コードを読み込み直すようにイベントを追加します。

コードはこれだけです。

com.adobe.csxs.events.WindowVisibilityChangedという主にパネルが開いた時に発火するイベントにlocation.reloadでパネルを更新し直す関数を登録する事でパネルが開いた時にパネル自体の情報をリロードします。これでIllustrator自体を落とさなくてもパネルを開き直すだけでコードの変更が反映されます。

*08月03日記事修正
イベントの種類がdocumentAfterActivateとなっていましたがこちらのイベントはIllustrator上でアクティブなドキュメントを変えた時に発生するイベントでした。パネルが開いた時、閉じた時に発火するイベントはcom.adobe.csxs.events.WindowVisibilityChangedだったので修正しました。

Beer 寄付してサイトを応援する。