Python 3 debugging works well also. It is a little confusing as there are two different places to specify the path: settings.json and launch.json.
I recommend using Don Jayamanne's Python Extension. After installing it, you have to configure the path to the interpreter you want to use it with.
Python Version used for Intellisense, autocomplete, linting, formatting, etc.
The same Python interpreter is used for intellisense, autocomplete,
linting, formatting, etc. (everything other than debugging). The
standard interpreter used is the first Python interpreter
encountered in the current path. If a different version is to be used,
this can be configured in one of two ways:
Configure the path to the python interpreter in the User Settings file
(settings.json) as follows. Ensure to specify the fully qualified name
of the python executable. "python.pythonPath":
"c:/python27/python.exe"
Configure the path to the Python interpreter
in the Workspace Settings file (settings.json) as follows. Ensure to
specify the fully qualified name of the Python executable.
"python.pythonPath": "c:/python27/python.exe" Python Version used for
debugging
Details on configuration settings for debugging can be found here
Debugging. Simply provide the fully qualified path to the python
executable in the "python" setting within the configuration settings
in the launch.json file as follows:
{
"name": "Python",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"program": "${file}",
"pythonPath": "c:/python27/python.exe",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
}