An extension with rich support for the Python language (including Python 3.6), with features including the following and more:
- Linting (Prospector, Pylint, pycodestyle/Pep8, Flake8, pylama, pydocstyle with config files and plugins)
 - Intellisense (autocompletion with support for PEP-0484)
 - PySpark and Scientific tools (Jupyter/IPython)
 - Auto indenting
 - Code formatting (autopep8, yapf, with config files)
 - Code refactoring (Rename, Extract Variable, Extract Method, Sort Imports)
 - Viewing references, code navigation, view signature
 - Excellent debugging support (remote debugging over SSH, mutliple threads, django, flask)
 - Running and debugging Unit tests (unittest, pytest, nosetests, with config files)
 - Execute file or code in a python terminal
 - Local help file (offline documentation)
 - Snippets
 
- Install the extension
 - optionally install 
ctagsfor Workspace Symbols, from here, or usingbrew install ctagson OSX. - If Python is in the current path 
- You're ready to use it.
 
 - If using a custom Python Version or a Virtual Environment, use the command 
Select Workspace Interpreter) 
For further information and details continue through to the documentation.
- Contributions are always welcome. Fork it, modify it and create a pull request. 
- Details on contributing can be found here
 
 - Any and all feedback is appreciated and welcome. 
- Please feel free to add suggestions here
 
 
- IDE Features
 
- Auto indenting
 - Code navigation (Go to, Find all references)
 - Code definition (Peek and hover definition, View Signature)
 - Rename refactoring
 - Sorting Import statements (use "Python: Sort Imports" command)
 
- Intellisense and Autocomplete with support for PEP-0484
 
- Ability to include custom module paths (e.g. include paths for libraries like Google App Engine, etc.)
 - Use the 
setting python.autoComplete.extraPaths = [] - For instance getting autocomplete/intellisense for Google App Engine, add the following to your settings file:
 
"python.autoComplete.extraPaths": [ "C:/Program Files (x86)/Google/google_appengine", "C:/Program Files (x86)/Google/google_appengine/lib" ]- Executing blocks of code (cells) in a Jupyter Kernel
 - Managing kernels (restarting, stopping, interrupting and selecting different kernels)
 - Viewing interactive graphs, HTML, SVG, LaTeX output from Jupyter from within Visual Studio Code
 
- Auto formatting of code upon saving changes (default to 'Off')
 - Use either yapf or autopep8 for code formatting (defaults to autopep8)
 
- It can be turned off (default is to be turned on and use pylint)
 - Multiple linters supported (along with support for configuration files for each linter)
 - Supported linters include pylint, pep8, flake8, pydocstyle, prospector
 - Paths to each of the linters can be optionally configured
 - Custom plugins such as pylint plugin for Django can be easily used by modifying the settings as follows:
 
"python.linting.pylintArgs": ["--load-plugins", "pylint_django"]- Watch window
 - Evaluate Expressions
 - Step through code (Step in, Step out, Continue)
 - Add/remove break points
 - Local variables and arguments
 - Multiple Threads and Web Applications (such as Flask, Django, with template debugging)
 - Expanding values (viewing children, properties, etc)
 - Conditional break points
 - Remote debugging (over SSH)
 - Google App Engine
 - Debugging in the integrated or external terminal window
 
- Debugging as sudo
 - Unit Testing
 
- Support for unittests, nosetests and pytest
 - Test results are displayed in the "Python" output window
 - Run failed tests, individual tests
 - Debugging unittests
 
- Snippets
 - Miscellaneous
 
- Running a file or selected text in python terminal
 
- Refactoring
 
- Fixed a bug in debugging single files without a launch configuration #700
 - Fixed error when starting REPL #692
 
- Added support for debugging single files without a launch configuration
 - Adding support for debug snippets #660
 - Ability to run a selected text in a Django shell #652
 - Adding support for the use of a customized 'isort' for sorting of imports #632
 - Debuger auto-detecting python interpreter from the path provided #688
 - Showing symbol type on hover #657
 - Fixes to running Python file when terminal uses Powershell #651
 - Fixes to linter issues when displaying Git diff view for Python files #665
 - Fixes to 'Go to definition' functionality #662
 - Fixes to Jupyter cells numbered larger than '10' #681
 




