Python

An extension with rich support for the Python language, with features including the following and more:
* Linting (Prospector, Pylint, pycodestyle/Pep8, Flake8, pydocstyle with config files and plugins) * Intellisense (autocompletion) * 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, mutliple threads, django, flask) * Unit testing, including debuggin (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
  • 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
    • 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: json "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, laText 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 pylit, 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: json "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)
    • Expanding values (viewing children, properties, etc)
    • Conditional break points
    • Remote debugging
    • 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
  • Snippets
  • Miscellaneous
    • Running a file or selected text in python terminal
  • Refactoring

Image of Generate Features

Image of Debugging

Image of Scientific Tools

Image of Local Help

Roadmap

Change Log

Current Version 0.4.2

  • Fix for autocompletion and code navigation with unicode characters #372, #364

Current Version 0.4.1

Current Version 0.4.0

  • Added support for Jupyter/IPython)
  • Added local help (offline documentation)
  • Added ability to pass in extra arguments to interpreter when executing scripts (#316)
  • Added ability set current working directory as the script file directory, when to executing a Python script
  • Rendering intellisense icons correctly (#322)
  • Changes to capitalization of context menu text (#320)
  • Bug fix to running pydocstyle linter on windows (#317)
  • Fixed performance issues with regards to code navigation, displaying code Symbols and the like (#324)
  • Fixed code renaming issue when renaming imports (#325)
  • Fixed issue with the execution of the command python.execInTerminal via a shortcut (#340)
  • Fixed issue with code refactoring (#363)

Thanks

Source

GitHub

License

MIT

Related Repositories

pythonVSCode

pythonVSCode

Python support for Visual Studio Code ...


Top Contributors

DonJayamanne jabooth gandhis1 MircoT Tyriar danielgindi jackqq wakensky brettcannon aschlapsi cbenz felixfbecker jstnlef LRPalacios lfrodrigues robsonpeixoto ronjouch simoncoulton Himanoa

Dependencies

package version
anser ^1.1.0
copy-paste ^1.3.0
diff-match-patch ^1.0.0
fs-extra ^0.30.0
fuzzy ^0.1.3
line-by-line ^0.1.5
minimatch ^3.0.3
named-js-regexp ^1.3.1
node-static ^0.7.9
prepend-file ^1.3.0
rx ^4.1.0
socket.io ^1.4.8
tmp 0.0.29
transformime ^3.1.2
transformime-marked 0.0.1
tree-kill ^1.1.0
uint64be ^1.0.1
untildify ^3.0.2
vscode-debugadapter ^1.0.1
vscode-debugprotocol ^1.0.1
vscode-extension-telemetry 0.0.5
vscode-languageclient ^1.1.0
vscode-languageserver ^1.1.0
xml2js ^0.4.17
dev @types/jquery ^1.10.31
@types/mocha ^2.2.32
@types/node ^6.0.40
@types/rx ^2.5.33
@types/socket.io ^1.4.27
@types/socket.io-client ^1.4.27
@types/uuid ^3.3.27
@types/sinon ^2.3.2
babel-core ^6.14.0
babel-loader ^6.2.5
babel-preset-es2015 ^6.14.0
ignore-loader ^0.1.1
mocha ^2.3.3
sinon ^2.3.6
retyped-diff-match-patch-tsd-ambient ^1.0.0-0
ts-loader ^0.8.2
tslint ^3.15.1
typescript ^2.3.2
vscode ^1.0.3
webpack ^1.13.2

Releases

-   v0.3.11 zip tar
-   v0.3.10 zip tar
-   v0.3.9 zip tar
-   v0.3.8 zip tar
-   v0.3.7 zip tar
-   v0.3.6 zip tar
-   v0.3.5 zip tar
-   v0.3.4 zip tar
-   v0.3.3 zip tar
-   v0.3.0 zip tar
-   v0.2.9 zip tar
-   v0.2.8 zip tar
-   v0.2.7 zip tar
-   v0.2.6 zip tar
-   v0.2.5 zip tar
-   v0.2.4 zip tar
-   v0.2.3 zip tar
-   v0.2.2 zip tar
-   v0.1.3 zip tar
-   v0.1.2 zip tar
-   v0.1.1 zip tar
-   v0.1.0 zip tar
-   v0.0.4 zip tar
-   v0.0.3 zip tar
-   0.4.1 zip tar
-   0.4.0 zip tar
-   0.3.211 zip tar
-   0.3.201 zip tar
-   0.3.24 zip tar
-   0.3.23 zip tar