web-dev-qa-db-ja.com

VS Codeの事前定義変数の現在の値(「$ {workspaceFolder}」など)を表示する方法は?

angular TypeScriptソースコードをデバッグしようとしているときにVSコードデバッガーの問題に直面していますが、その理由はそれらのいくつか VSコード変数 間違った値-提案どおり ここ

私はそのアドバイスに従いたいと思いますが、VSコード変数を照会する方法がわかりません(たとえば、プロジェクトのこれらの変数の現在の値を表示する)。

これらの変数の1つは

$ {workspaceFolder}

これらはVSコードの設定ファイルで使用されます。この例ではlaunch.jsonファイル。

これらの値を表示する方法があるかどうか知っていますか?たとえば、値をログに記録するか、アラートウィンドウに表示するだけで、トラブルシューティングを行うことができます。

9
Matt

より良い方法があるかもしれませんが、実行することができます

//  "preLaunchTask": "Echo vars" in your debug launch like:

{
    "name": "Chrome : Launch with sourcemaps",
    "type": "chrome",
    "request": "launch",
    "url": "http://localhost:3000",
    "webRoot": "${workspaceRoot}",
    "sourceMaps": true,
    "runtimeArgs": [
    "--remote-debugging-port=9222"
    ],
    "preLaunchTask": "Echo vars"
},

起動タスクで、次にtasks.jsonで次を追加します。

{
   "label": "Echo vars",
   "command": "echo",
   "args": [
     "${env:USERNAME}",
     "workspaceFolder = ${workspaceFolder}"
   ],
   "type": "Shell"
},

これらの値は端末にエコーされます。


[〜#〜] edit [〜#〜]:これ以降のバージョンのvscodeは変数の端末への送信をサポートするようになったため、このsimpler keybindingは端末に値を出力します。

{
  "key":  "alt+q",
  "command": "workbench.action.terminal.sendSequence",
  "args": {
    // "text": "${env:USERNAME}",  // this works
     "text" : "file = ${file};  workspaceFolder = ${workspaceFolder}"
  }  
},

それから Alt-q 値を出力します。

14
Mark