title: Unable to setup C++ debugging in VSCode; Debug type not recognized
body: <p>I'm trying to set up VSCode to start learning C++.  As part of this, I need to be able to debug the code, so I've installed the C/C++ extension with the .vsix file to allow it to add C++ debugging configurations.  However, when I try to set up a configuration, I do not see C++ as an option for environments; only node, gdb, and lldb.  Following the instructions <a href="https://code.visualstudio.com/docs/cpp/config-mingw" rel="noreferrer">here</a>, I do not see any suggestions for C++ in the command palette.  As such, I manually setup the tasks, c_cpp_properties, and launch.json files, copying and pasting and modifying the paths as appropriate.  However, VSCode labels cppdbg in launch.json as not recognized as a debug type, as well as the fields stopAtEntry, environments, MIMode, and miDebuggerPath as "Property &lt;...> not allowed".  If I change it to gdb, it recognizes the debug type, but the property not allowed error remains:</p>
  
  <p>c_cpp_properties.json:</p>
  
  <pre><code>{
    "configurations": [
      {
        "name": "Win32",
        "includePath": ["${workspaceFolder}/**", "${vcpkgRoot}/x86-windows/include"],
        "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
        "windowsSdkVersion": "10.0.17763.0",
        "compilerPath": "C:\\dev\\tools\\mingw64\\bin\\g++.exe",
        "cStandard": "c11",
        "cppStandard": "c++17",
        "intelliSenseMode": "${default}"
      }
    ],
    "version": 4
  }
  </code></pre>
  
  <p>tasks.json:</p>
  
  <pre><code>{
      "version": "2.0.0",
      "tasks": [
        {
          "label": "build hello world",
          "type": "shell",
          "command": "g++",
          "args": ["test.cpp"],
          "group": {
            "kind": "build",
            "isDefault": true
          }
        }
      ]
    }
  </code></pre>
  
  <p>launch.json:</p>
  
  <pre><code>{
      // Use IntelliSense to learn about possible attributes.
      // Hover to view descriptions of existing attributes.
      // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
      "version": "0.2.0",
      "configurations": [
        {
          "name": "(gdb) Launch",
          "type": "cppdbg",
          "request": "launch",
          "program": "${workspaceFolder}/test.exe",
          "args": [],
          "stopAtEntry": true,
          "cwd": "${workspaceFolder}",
          "environment": [],
          "console": true,
          "MIMode": "gdb",
          "miDebuggerPath": "C:\\dev\\tools\\mingw64\\bin\\gdb.exe"
        }
      ]
    }
  </code></pre>
  
  <p>The version of VSCode I'm using is older, 1.19.  The HelloWorld/test.cpp file I wrote the code to is extremely simple:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  
  int main()
  {
      std::cout &lt;&lt; "Type your name" &lt;&lt; std::endl;
      std::string name;
      std::cin &gt;&gt; name;
      std::cout &lt;&lt; "Hello, " &lt;&lt; name &lt;&lt; std::endl;
  
      return 0;
  }
  </code></pre>
  
  <p>Can anyone tell me what I'm missing in this process, as I've not been able to find anything on google so far.</p>