Skip to content

zhaohuaw/pythonVSCode

 
 

Repository files navigation

Python

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

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)

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" ]
  • 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
  • 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)
  • Expanding values (viewing children, properties, etc)
  • Conditional break points
  • Remote debugging
  • 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
  • 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

Current Version 0.5.0

  • Remove dependency on zmq when using Jupyter or IPython (pure python solution)
  • Added a default keybinding for Jupyter:Run Selection/Line of ctrl+alt+enter
  • Changes to update settings.json with path to python using native API
  • Changes to use native API for formatting when saving documents
  • Reusing existing terminal instead of creating new terminals
  • Limiting linter messages to opened documents (hide messages if document is closed) #375
  • Resolving extension load errors when #375
  • Fixes to discovering unittests #386
  • Fixes to sending code to terminal on Windows #387
  • Fixes to executing python file in terminal on Windows #385
  • Fixes to launching local help (documentation) on Linux
  • Fixes to typo in configuration documentation #391
  • Fixes to use python.pythonPath when sorting imports #393
  • Fixes to linters to handle situations when line numbers aren't returned #399
  • Fixes to signature tooltips when docstring is very long #368, #113

Thanks

Source

GitHub

License

MIT

About

Python support for Visual Studio Code

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 67.0%
  • TypeScript 32.9%
  • Other 0.1%