mocha でテストしてる javascript を VSCode でデバッグ実行する in Windows

(2018/04/13 21:18:41) env.APPDATAが有効なのは VSCode v1.5.2 など古いバージョンのみです。最新の v1.22 だと env:APPDATA で展開できます

前提

手順

  • 左ペインのデバッグボタン(虫アイコンに斜線が入ってるやつ)をクリック
  • launch.json が自動生成されるので、以下のような感じで編集
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "name": "VSCodeからMochaでデバッグ実行する",
            "request": "launch",
            "program": "${workspaceRoot}/test.js",
            "stopOnEntry": false,
            "runtimeExecutable": "${env.APPDATA}/npm/mocha.cmd",
            "runtimeArgs": [],
            "args": [],
            "cwd": "${workspaceRoot}",
            "console":"integratedTerminal"
        }
    ]
}

あとは適当な行にブレークポイントを置いて、デバッグ実行してやると、そのポイントで停止するはず。

(余談)launch.json のハマりポイント:

  • 環境変数 %APPDATA%${env.APPDATA} で展開できる
    • 下記リファレンスだと ${env:APPDATA} と書いてあってハマった(コロンじゃない)
  • runtimeExecutable に実行ファイル、 program に引数を与える
    • 最初 program に実行ファイル与えるのかと思っててハマった
  • console の値は integratedTerminal にする
    • internalConsole → 規定値はこれだけど、内部的にはシェルスクリなので Windows で動かない
    • integratedTerminal → システムデフォのターミナルを使う。Windows だと cmd.exe
    • externalTerminal → 任意のターミナルを指定できる?よーわからん

参考