Skip to content

Cross platform editing, debugging, linting, testing (and more) Python (2.7 to 3.6) code (including Jupyter support) using Visual Studio Code

License

Notifications You must be signed in to change notification settings

artemsaveliev/pythonVSCode

 
 

Repository files navigation

Python

An extension with rich support for the Python language (including Python 3.6), with features including the following and more:

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.
  • To select a different Python Interpreter/Version (or use 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.

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)
  • 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" ]
  • This functionality has been moved into a separate extension Jupyter
  • 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
  • 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

Version 0.6.0 (10 March 2017)

  • Moved Jupyter functionality into a separate extension Jupyter
  • Updated readme #779
  • Changing default arguments of mypy #658
  • Added ability to disable formatting #559
  • Fixing ability to run a Python file in a terminal #784
  • Added support for Proxy settings when installing Python packages using Pip #778

Version 0.5.9 (2 March 2017)

  • Fixed navigating to definitions #711
  • Support auto detecting binaries from Python Path #716
  • Setting PYTHONPATH environment variable #686
  • Improving Linter performance, killing redundant processes 4a8319e
  • Changed default path of the CATAS file to .vscode/tags #722
  • Add parsing severity level for flake8 and pep8 linters #709
  • Fix to restore function descriptions (intellisense) #727
  • Added default configuration for debugging Pyramid #287
  • Feature request: Run current line in Terminal #738
  • Miscellaneous improvements to hover provider 6a7a3f3, 6268306
  • Fixes to rename refactor (due to 'LF' EOL in Windows) #748
  • Fixes to ctag file being generated in home folder when no workspace is opened #753
  • Fixes to ctag file being generated in home folder when no workspace is opened #753
  • Disabling auto-completion in single line comments #74
  • Fixes to debugging of modules #518
  • Displaying unit test status icons against unit test code lenses #678
  • Fix issue where causing 'python.python-debug.startSession' not found message to be displayed when debugging single file #708
  • Ability to include packages directory when generating tags file #735
  • Fix issue where running selected text in terminal does not work #758
  • Fix issue where disabling linter doesn't disable it (when no workspace is open) #763
  • Search additional directories for Python Interpreters (~/.virtualenvs, ~/Envs, ~/.pyenv) #569
  • Added ability to pre-load some modules to improve autocompletion #581
  • Removed invalid default value in launch.json file #586
  • Added ability to configure the pylint executable path #766
  • Fixed single file debugger to ensure the Python interpreter configured in python.PythonPath is being used #769

Thanks

Source

GitHub

License

MIT

About

Cross platform editing, debugging, linting, testing (and more) Python (2.7 to 3.6) code (including Jupyter support) using Visual Studio Code

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 72.4%
  • TypeScript 27.6%