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"]

変数ペインで非表示にしたい項目を指定します。変数ペインを使わない人にとっては不要です。

 

とりあえずこれだけ分かれば動かすことができると思います。詳しいことはドキュメントを読んでください。