CEPを始めようかな...
Adobe製品のツールとして、AppleScriptでいろいろと、1000個overぐらいは作ってきたんだけど、
最近、AppleScriptでは設定できないが、Javascriptなら設定できるといった属性があったり とか、
Windowsに対応してませんか という人がでてきたり とか、
Windows11 綺麗だし、copilot魅力あるし とか、
Win安いし、Mac高いし、とか、
映像やらないから、M3とかいらないし、とか
いろいろあって、Javascriptもやってみようと思った次第です。
ホントはUXPにしたいのだが、Illustrator対応時期が見えないしなー
CEPの最近の状態って、どうなんでしょうかね。ググると古い情報が多いし...
VSCodeで始めるAdobe CEP Extension開発
まず、これやってみた。なぜ、作ると、複数のAdobeアプリで使えるかがわからんかったが、
ユーザ > ライブラリ > Application Support > Adobe > cep に、Extension ID のフォルダができている。
そのため、これをAdobe アプリが読み込んで、ウインドウ > エクステンション に表示されるって訳なんだね。
VScodeでCC Extension Builder使わなくても、この構造を作っちゃえば良いということだよね。
nodeとの連携はどうするの?
(AppleScriptならdo shell scriptでいろいろできちゃう...)
まずは、これかな。10年前だな...
ボタンを押しても Webブラウザは開かなかった。
を参考に、
<CEFCommandLine>
<Parameter>--enable-nodejs</Parameter>
</CEFCommandLine>
を加えたところ、 Webブラウザがopenした。
やっと見つけた
using CLI from extendscript
検索words: Adobe cep require('child_process')
main.jsからの送り方
csInterface.evalScript('someAction()');
でAI側のsomeAction()を実行
csInterface.evalScriptの戻り値は、文字列なのか。
戻り値の取得
・AIのエクステンションのパネルのボタンを押す
・AIドキュメントで選択しているテキストを取得(ExtendScript)
・ExtendScriptからの戻り値を取得 までは、できた。
残り
・戻り値を加工
・AIドキュメントに戻す
JSONでやりとりするか
一応、望む動きのするものができた。
デバッグをやりやすくするにはどうするのか?
logが書き出されているのか
デバッグ調査
ブラウザでlocalhost指定しても、エラーになる
cefclient(CEP8, 9,10)いずれも、Page failed to loadになる
VScodeからExtension creatorを使って最初から雛形作って、中身を現在作ったものにいれかえてlocalhost したら、出てきたよ。
とりあえず、パネル側はこれで良いのか。
これ、2021年だから、CEPの情報としては新しめで、ちゃんとしている。
最初からこれ読めばよかったと思わせる内容です。とても良い!
Windows11で動作させようとしたが、ボタンが表示されない。
デバッグモードにしないといけないらしい。regeditで変更したら、表示された。
(ハマりどころですね)
配布先にregeditしてとは言えない...