VScodeでターミナルプロセス起動の失敗を回避してデバッグ機能を活用してpythonする


VScodeでpythonのpyファイルが実行はできるものの
デバッグができない悩みを解消したメモです。

実行環境
・システム windows 10 Home
・エディタ VScode 1.60.0
・インタプリンタAnaconda(仮想環境)

VScodeは補完機能がとても便利で、
記憶力よわよわな私を助けてくれます。

ですが、エラーが起きて、込み入った設定になると
少々手ごわいです。

今回の悩みは、

デバッグをしようとすると
「ターミナル起動プロセスに失敗しました」
と出てきてデバッグができない

というトラブルへの対応でした。

あれこれ、VScodeでターミナルのエラーについてのヘルプを読みましたが、
なかなか解決策へたどり着けず。

まず目につくアドバイスで
C:Users>ユーザー>AppData>Roaming>Code>User>setting.json
に関しての設定を

setting.json
  "terminal.integrated.shell.windows": "C:\\Windows\\Sysnative\\cmd.exe",

するやつがありますが、

どうやらこれはわたしの問題には関係がないようでした。

悩み始めたから何カ月も経ってしまったところ

きょう下のリンクに答えがありました。

launch.json下記のように変更するとpythonでのデバッグが可能になります。
.vscodeフォルダ(Vscodeで開いたフォルダに作成されます)のなかに

下記のようにlaunch.jsonを作成します。

launch.json
{
  // IntelliSense を使用して利用可能な属性を学べます。
  // 既存の属性の説明をホバーして表示します。
  // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Current File",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "externalTerminal"
    },
    {
      "name": "Python: Current File",
      "type": "python",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal"
    }
  ]
}

デフォルトのintegratedTerminalのだと
件のエラーが出るみたいです。

黒いのが外部のターミナルとして開かれた
デバッグコンソールです。

とりあえず、デバッグで変数の中身をみれるようになりました。
嬉しい!

なお、jupyter notebookはではデバッグできてません。