Python support for Visual Studio Code
Python TypeScript

README.md

Python

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

Quick Start

  • Install the extension
  • optionally install ctags for Workspace Symbols, from here, or using brew install ctags on 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)

Documentation

For further information and details continue through to the documentation.

Issues, Feature Requests and Contributions

  • 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.

Feature Details

  • 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" ]
  • Scientific tools (Jupyter/IPython)
    • 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
  • Code formatting
    • Auto formatting of code upon saving changes (default to 'Off')
    • Use either yapf or autopep8 for code formatting (defaults to autopep8)
  • Linting
    • 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"]
  • Debugging
    • 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

Generate Features

Debugging

Unit Tests

Scientific Tools

Local Help

Roadmap

Change Log

Version 0.5.5 (16 January 2017)

  • Added support for Python 3.6 #646, #631, #619, #613
  • Autodetect in python path in virtual environments #353
  • Add syntax highlighting of code samples in hover defintion #555
  • Launch REPL for currently selected interpreter #560
  • Fixes to debugging of modules #589
  • Reminder to install jedi and ctags in Quick Start #642
  • Improvements to Symbol Provider #622
  • Changes to disable unit test prompts for workspace #559
  • Minor fixes #627

Thanks

Source

GitHub

License

MIT