ExtendScript Debugger 2.0.2のとりあえず対処法(私のlaunch.json)
ExtendScript Debugger plugin for Visual Studio Codeなんですが、バージョン1.1.2を使っていた人は自動アップデートされて困ってるみたいですね。コミュニティフォーラムにいくつか投稿がありました。
そんな人のためにとりあえずの対処法を書いておきます。
対処法1 以前のバージョンに戻す
①左の上から5番目のアイコン(拡張機能)をクリック
②[ExtendScript Debugger]内右下の歯車アイコンをクリック
③[別のバージョンをインストール ...]をクリック
④バージョンのリストが表示されるので、以前使用していたバージョンをクリック
なお、バージョンダウンした際は、自動更新を無効にしておかないといけません。これは次の手順で行います。
①左の上から5番目のアイコン(拡張機能)をクリック
②上部の「拡張機能」の文字の右側にある「…」をクリック
③[自動更新拡張機能]をクリック
④[なし]をクリック
対処法2 バージョン2.0.2に移行する
個人的にはこちらをお勧めします。
まずlaunch.jsonを次のものに置き換えます。これは私のlaunch.jsonです。
{ // IntelliSense を使用して利用可能な属性を学べます。 // 既存の属性の説明をホバーして表示します。 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "extendscript-debug", "request": "attach", "name": "ID2022(17.2.1)", "hostAppSpecifier": "indesign-17.064", "engineName": "main", "hiddenTypes":["this", "prototype", "builtin", "Function"] }, { "type": "extendscript-debug", "request": "attach", "name": "ID2021(16.4)", "hostAppSpecifier": "indesign-16.064", "engineName": "main", "hiddenTypes":["this", "prototype", "builtin", "Function"] }, { "type": "extendscript-debug", "request": "attach", "name": "AI2022(26.3.1)", "hostAppSpecifier": "illustrator-26.064", //"engineName": "main", "hiddenTypes":["this", "prototype", "builtin", "Function"] }, { "type": "extendscript-debug", "request": "attach", "name": "PS2022(23.3.2)", "hostAppSpecifier": "photoshop-160.064", //"engineName": "main", "hiddenTypes":["this", "prototype", "builtin", "Function"] } ] }
これを各自の環境に応じて書き換えるわけですが、それは後で説明するとして、先に実行手順を説明します。
この状態でデバッグ画面を見ると次のようになります。
つまり、アプリケーションを選択して実行できます。
実行するときに注意が必要なのは、「先に対象のアプリケーションを起動しておくこと」です。1.1.2のときは起動していない場合はメッセージが出てそこから起動できましたが、2.0ではできません。
プルダウンメニューからアプリケーションを選択(この場合InDesign2022)し、左にある▷アイコンをクリックすると、何やら動きだします。しばらくするとステータスバーが青からオレンジに変わるので、 [▷ Eval In Adobe InDesign 2022 (main)...]をクリックするとスクリプトが実行されます。
スクリプトが終了しても、InDesignとの接続は継続しています。そのため、続けて別のスクリプトを実行したいときは[▷ Eval In Adobe InDesign 2022 (main)...]をクリックするだけです。また、デバッグコンソールの下の〉から入力することで、ワンライナーも実行できます。
接続を切りたいときはツールバーの切断をクリックします。
では、launch.jsonの変更箇所です。
"type": "extendscript-debug"
ExtendScriptであることを示すものなので変更してはいけません。
"request": "attach"
バージョン1.1.2では「launch」でしたが、バージョン2.0からは「attach」が推奨となりました。ちなみに、私のlaunch.jsonでここを「launch」に変更すると、[▷ Eval In Adobe InDesign 2022 (main)...]は表示されずにスクリプトが実行され、スクリプトが終了するとInDesignとの接続も切れてしまいます。その方がよい人もいるでしょうね。色々試してみてください。
"name": "ID2022(17.2.1)"
プルダウンメニューに表示する名前です(本当は他にも使うけど)。お好きな名前を付けてください。
"hostAppSpecifier": "indesign-17.064"
対象となるアプリケーションを指定します。ちなみにIllustrator 2022は「illustrator-26.064」、Photoshop 2022は「photoshop-160.064」、InDesign CS6は「indesign-8.032」(多分)です。
"engineName": "main"
targetengineのことです。
"hiddenTypes": ["this", "prototype", "builtin", "Function"]
変数ペインで非表示にしたい項目を指定します。変数ペインを使わない人にとっては不要です。
とりあえずこれだけ分かれば動かすことができると思います。詳しいことはドキュメントを読んでください。