{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Launch",
            "type": "coreclr",
            "request": "launch",
            "justMyCode": false,
            "stopAtEntry": true,
            "program": "${workspaceRoot}/debug/powershell",
            "args": [ "-NonInteractive" ],
            "preLaunchTask": "build",
            "cwd": "${workspaceRoot}"
        },
        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "justMyCode": false,
            "processName": "powershell"
        }
    ]
}

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Launch",
            "type": "coreclr",
            "request": "launch",
            "justMyCode": false,
            "stopAtEntry": true,
            "program": "${workspaceRoot}/debug/powershell",
            "preLaunchTask": "build",
            "externalConsole": true,
            "cwd": "${workspaceRoot}"
        },
        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "justMyCode": false,
            "processName": "powershell"
        }
    ]
}

Enable external console for VS Code debugging
Enable external console for VS Code debugging

Instead of half-running PowerShell with -noninteractive (and expecting
the user debugging to enter more arguments), the latest stable version
of VS Code allows us to launch an external console. This requires either
Gnome Terminal or xterm (sadly not Xfce Terminal), but given either (and
xterm is almost always available to install), we can now launch an
interactive PowerShell session to debug.
