Python extension for Visual Studio Code
A Visual Studio Code extension with rich support for the Python language (for all actively supported versions of the language: 2.7, >=3.4), including features such as linting, debugging, IntelliSense, code navigation, code formatting, refactoring, unit tests, snippets, and more!
- Step 4. Install a linter to get errors and warnings -- you can further customize linting rules to fit your needs.
- Step 5. Select your preferred Python interpreter/version/environment using the
Select Interpreter command.
- By default we use the one that's on your path.
- If you have a workspace open you can also click in the status bar to change the interpreter.
- Step 6. Install
ctags for Workspace Symbols, from here, or using
brew install ctags on macOS.
For more information you can:
Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows/Linux) and type in one of the following commands:
Python: Select Interpreter
|Switch between Python interpreters, versions, and environments.
Python: Start REPL
|Start an interactive Python REPL using the selected interpreter in the VS Code terminal.
Python: Run Python File in Terminal
|Runs the active Python file in the VS Code terminal. You can also run a Python file by right-clicking on the file and selecting
Run Python File in Terminal.
Python: Select Linter
|Switch from PyLint to flake8 or other supported linters.
To see all available Python commands, open the Command Palette and type
The extension is available in multiple languages thanks to external
contributors (if you would like to contribute a translation, see the
pull request which added Italian):
Questions, issues, feature requests, and contributions
- If you have a question about how to accomplish something with the extension, please ask on Stack Overflow
- If you come across a problem with the extension, please file an issue
- Contributions are always welcome! Please see our contributing guide for more details
- Any and all feedback is appreciated and welcome!
- If someone has already filed an issue that encompasses your feedback, please leave a 👍/👎 reaction on the issue
- Otherwise please file a new issue
- If you're interested in the development of the extension, you can read about our development process
- IDE-like features
- Automatic indenting
- Code navigation ("Go to", "Find all" references)
- Code definition (Peek and hover definition, View signatures)
- Rename refactoring
- Sorting import statements (use the
Python: Sort Imports command)
- Intellisense and autocomplete (including PEP 484 and PEP 526 support)
- Ability to include custom module paths (e.g. include paths for libraries like Google App Engine, etc.; use the setting
python.autoComplete.extraPaths = )
- Code formatting
- Auto formatting of code upon saving changes (default to 'Off')
- Use either yapf, autopep8, or Black for code formatting (defaults to autopep8)
- Watch window
- Evaluate expressions
- Step through code ("Step in", "Step out", "Continue")
- Add/remove breakpoints
- Local variables and arguments
- Multi-threaded applications
- Web applications (such as Flask & Django, with template debugging)
- Expanding values (viewing children, properties, etc)
- Conditional breakpoints
- Remote debugging (over SSH)
- Google App Engine
- Debugging in the integrated or external terminal window
- Debugging as sudo
- Unit testing
- Support for unittest, pytest, and nose
- Ability to run all failed tests, individual tests
- Debugging unit tests
- Running a file or selected text in python terminal
- Automatic activation of environments in the terminal
- Rename refactorings
- Extract variable refactorings
- Extract method refactorings
- Sort imports
Data and telemetry
The Microsoft Python Extension for Visual Studio Code collects usage
data and sends it to Microsoft to help improve our products and
services. Read our
privacy statement to
learn more. This extension respects the
setting which you can learn more about at