リンクをクリップボードにコピー
コピー完了
何が原因でしょうか?
'_scriptPath'というプロパティは何を指していますか?
これまでもこのエラーは何度か出ていましたが、今回はマシンの再起動をしてもスクリプトをデバッグできなくなってしまいました。
スクリプトに関するフォーラムがわからずInDesignフォーラムに書きました。
適宜移動してください。
macOS 10.14.6
InDesign 15.0.3
Illustrator 24.1.2
ESDebugger 1.1.2
VSCode 1.46.0
結論的には何が原因かはわかりません。いくつかの情報を照らし合わせると,原因は次の項目にある可能性が高いと考えています。
・VSCodeのdebug機能で,通信エラーなど何らかの原因によりlaunch.jsonのbreakXMLが取得できない
・002BTBackend.jsxで,何らかの原因により'file'項目がundefinedになる
以下参考資料です。
ExtendScript Debugger for VSCodeのソースコードはここにあります。
~/.vscode/extensions/adobe.extendscript-debug-1.1.2/
見た感じ_scriptPathはブレークポイントとセッションを管理するのに必要なファイルパスの情報のようです。これ自体がundefinedであることまたはその他の理由でエラーが起こったとき,_scriptPathが見つからないと言っています。
_scriptPathが使われているのはESDebugRuntime.jsとESDebugSession.jsです。色々たどると参照しているのはbreakXMLという変数で,これはlaunch.j
...リンクをクリップボードにコピー
コピー完了
追記です。
VSCodeのESDebuggerプラグインを再インストールしたら治りました(デバッグできるようになりました)。
ただこの'_scriptPath'というプロパティがやっぱりよくわかりません…。
リンクをクリップボードにコピー
コピー完了
スクリプト関連に関しては各アプリケーションに設置されている「キーワード」による振り分けで分類されますのでこれでOKです。
さて、内容についてですが、これがややこしい話で見た事ない…(^-^;
って言っちゃうと終わりなので……
通常VSCから各アプリケーションへのスクリプトの受け渡しはBridgeTalkなんですが、バックでパケット監視してみると何かわかるかもしれません。
すごーく面倒ですが(^-^;
リンクをクリップボードにコピー
コピー完了
Ten Aさん、ご返信ありがとうございます。
BT経由なのはなんとなく知っていましたが、パケット監視かぁ、気が重いです…。
ひとまず再インストールでなんとかなったのですが、この例外で alert メソッドひとつすら実行できなくなってしまって非常に困りました。
何にせよ一筋縄ではいかない、ということはよくわかりました 笑
ありがとうございました。
リンクをクリップボードにコピー
コピー完了
結論的には何が原因かはわかりません。いくつかの情報を照らし合わせると,原因は次の項目にある可能性が高いと考えています。
・VSCodeのdebug機能で,通信エラーなど何らかの原因によりlaunch.jsonのbreakXMLが取得できない
・002BTBackend.jsxで,何らかの原因により'file'項目がundefinedになる
以下参考資料です。
ExtendScript Debugger for VSCodeのソースコードはここにあります。
~/.vscode/extensions/adobe.extendscript-debug-1.1.2/
見た感じ_scriptPathはブレークポイントとセッションを管理するのに必要なファイルパスの情報のようです。これ自体がundefinedであることまたはその他の理由でエラーが起こったとき,_scriptPathが見つからないと言っています。
_scriptPathが使われているのはESDebugRuntime.jsとESDebugSession.jsです。色々たどると参照しているのはbreakXMLという変数で,これはlaunch.jsonを経由してVSCodeとExtendScriptのやりとりをする文字列の引数のようです(https://marketplace.visualstudio.com/items?itemName=Adobe.extendscript-debug)。For Internal useと書いてあります。
最終的には,この引数のStringをxml2jsでパースしたオブジェクトのうち次の項目がundefinedになり,_scriptPathに代入されます。
break.frame[0].$.file
break.error[0].$.file
breakXMLが何なのかというと,おそらくBridgeTalkのバックエンド処理を定義している002BTBackend.jsxの出力です。ESTKの中身の11BTBackend.jsxとよく似ていますが,Diffにかけると変化があります。ESTKがうまく動いているならこの変更が原因かもしれません。
リンクをクリップボードにコピー
コピー完了
sttk3さん、詳細な検証と情報、ありがとうございます。
とても勉強になりました。
ぜひエコシステムチームに対策してほしいです。
launch.json に使用できる設定の中で internal use というものがいくつかあるのは認識していたのですが、文字通り internal なのですね。
リンクをクリップボードにコピー
コピー完了
I had this same problem within the first hour of using VSCode / ESDebugger.
Thanks for pointing out it is related to breakpoints.
It worked for me to open "~/Library/Application Support/Code/User" and there remove contents from both globalStorage and workspaceStorage.