Skip to content

felixfbecker/pythonVSCode

 
 

Repository files navigation

Python

Linting, Debugging (multi-threaded, web apps, remote), Intellisense, auto-completion, code formatting, snippets, unit testing, and more.

##Features

  • Linting (PyLint, Pep8, Flake8 with config files and plugins)
  • Intellisense and autocompletion
  • Code formatting (autopep8, yapf, with config files)
  • Renaming, Viewing references, Going to definitions, Go to Symbols
  • View signature and similar by hovering over a function or method
  • Debugging with support for local variables, arguments, expressions, watch window, stack information, break points
  • Debugging Multiple threads (Web Applications - Flask, etc) and expanding values (on Windows and Mac)
  • Debugging remote processes (attaching to local and remote process)
  • Debugging with support for shebang (windows)
  • Debugging with custom environment variables
  • Unit testing (unittests and nosetests, with config files)
  • Sorting imports
  • Snippets

##Wiki

##Issues and Feature Requests

  • Support for Virtual Environments (in development)

Feature Details (with confiuration)

  • IDE Features
  • Rename and navigate to symbols
  • Go to, Peek and hover definition
  • Find all references
  • View Signature
  • Sorting Import statements (use "Python: Sort Imports" command)
  • Full intellisense
  • Support for docstring
  • 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" ]
  • Use either yapf or autopep8 for code formatting (defaults to autopep8)
  • auutopep8 configuration files supported
  • yapf configuration files supported
  • It can be turned off (default is turn it on and use pylint)
  • pylint can be turned on/off (default is on), supports standard configuaration files
  • pep8 can be turned on/off (default is off), supports standard configuaration files
  • flake8 can be turned on/off (default is on), supports standard configuaration files
  • Different categories of errors reported by pylint can be configured as warnings, errors, information or hits
  • Path to pylint, pep8 and flake8 and pep8 can be configured
  • Custom plugins such as pylint plugin for Django can be easily used by modifying the settings as follows:
"python.linting.pylintPath": "pylint --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) (Windows and Mac)
  • Expanding values (viewing children, properties, etc) (Windows and Mac)
  • Conditional breakpoints
  • Remote debugging
  • Unit Testing
  • unittests (default is on)
  • nosetests (default is off)
  • Test resutls are displayed in the "Python" output window
  • Future release will display results in a more structured manner integrated into the IDE
  • Snippets

Image of Generate Features

Image of Go To Definition

Image of Renaming and Find all References

Image of Debugging

Image of Multi Threaded Debugging

Image of Pausing

Requirements

  • Python is installed on the current system
  • Path to python can be configured
  • Pylint is installed for linting (optional)
  • pip install pylint
  • Pep8 is installed for linting (optional)
  • pip install pep8
  • Flake8 is installed for linting (optional)
  • pip install flake8
  • Autopep8 is installed for code formatting (optional)
  • pip install pep8
  • pip install --upgrade autopep8
  • Yapf is installed for code formatting (optional)
  • pip install yapf
  • nosetests for unit testing (optional)
  • pip install nose

Change Log

Version 0.3.1

  • Remote debugging (updated documentation and fixed minor issues)
  • Fixed issues with formatting of files when path contains spaces

Version 0.3.0

  • Remote debugging (attaching to local and remote processes)
  • Debugging with support for shebang
  • Support for passing environment variables to debug program
  • Improved error handling in the extension

Version 0.2.9

  • Added support for debugging django applications
  • Debugging templates is not supported at this stage

Version 0.2.8

  • Added support for conditional break points
  • Added ability to optionally display the shell window (Windows Only, Mac is coming soon)
    • Allowing an interactive shell window, which isn't supported in VSCode.
  • Added support for optionally breaking into python code as soon as debugger starts
  • Fixed debugging when current thread is busy processing.
  • Updated documentation with samples and instructions

Version 0.2.4

  • Fixed issue where debugger would break into all exceptions
  • Added support for breaking on all and uncaught exceptions
  • Added support for pausing (breaking) into a running program while debugging.

Version 0.2.3

  • Fixed termination of debugger

Version 0.2.2

  • Improved debugger for Mac, with support for Multi threading, Web Applications, expanding properties, etc
  • (Debugging now works on both Windows and Mac)
  • Debugging no longer uses PDB

Version 0.2.1

  • Improved debugger for Windows, with support for Multi threading, debugging Multi-threaded apps, Web Applications, expanding properties, etc
  • Added support for relative paths for extra paths in additional libraries for Auto Complete
  • Fixed a bug where paths to custom Python versions weren't respected by the previous (PDB) debugger
  • NOTE: PDB Debugger is still supported

Version 0.1.3

  • Fixed linting when using pylint

Version 0.1.2

  • Fixed autoformatting of code (falling over when using yapf8)

Version 0.1.1

  • Added support for linting using flake8
  • Added support for unit testing using unittest and nosetest
  • Added support for custom module paths for improved intellisense and autocomplete
  • Modifications to debugger to display console output (generated using 'print' and the like)
  • Modifications to debugger to accept arguments

Version 0.1.0

  • Fixed linting of files on Mac
  • Added support for linting using pep8
  • Added configuration support for pep8 and pylint
  • Added support for configuring paths for pep8, pylint and autopep8
  • Added snippets
  • Added support for formatting using yapf
  • Added a number of configuration settings

Version 0.0.4

  • Added support for linting using Pylint (configuring pylint is coming soon)
  • Added support for sorting Imports (Using the command "Pythong: Sort Imports")
  • Added support for code formatting using Autopep8 (configuring autopep8 is coming soon)
  • Added ability to view global variables, arguments, add and remove break points

Version 0.0.3

  • Added support for debugging using PDB

Debugging Instructions

  • Use the Python debugger, set the name of the startup program

Source

Github

License

MIT

About

Python auto complete support for VSCode

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 82.5%
  • TypeScript 17.5%