Skip to content
Python extension for Visual Studio Code
TypeScript Python Gherkin JavaScript HTML Jupyter Notebook Other
Branch: master
Clone or download
#8857 Compare This branch is 16 commits ahead of DonJayamanne:master.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.devcontainer Make sure language is used when picking kernel specs (#5628) May 14, 2019
.github Update DS issue templates (#8214) Nov 16, 2019
.vscode Implement a per interpreter language server cache (#8815) Dec 2, 2019
build Update ptvsd to v5.0.0a9 (#8932) Dec 6, 2019
data Rename pep8 to pycodestyle. (#6570) Aug 29, 2019
images Update README to include new features (#5297) Apr 16, 2019
languages Introduce pip requirements file highlighting Sep 27, 2017
news Update ptvsd to v5.0.0a9 (#8932) Dec 6, 2019
pythonFiles Update ptvsd to v5.0.0a9 (#8932) Dec 6, 2019
resources Update Test Explorer icons to match new VS Code icons (#8360) Nov 5, 2019
schemas Add 'pip' to conda environment.yml schema (#2120) Aug 1, 2018
snippets Change the default cell marker (#7782) Oct 7, 2019
src Make sure IFileSystem is registered in DI during tests. (#8902) Dec 5, 2019
syntaxes Delete unused test language files (#298) Nov 27, 2017
tpn Pin dependencies for tpn and 'news' (#8872) Dec 3, 2019
types Data Explorer Accessiblity (#6704) Jul 25, 2019
typings Add code gathering for single cell (#6803) Aug 1, 2019
uitests Remove deprecated prettier setting (#8656) Nov 22, 2019
.editorconfig #1228 multi root master (#2) Nov 1, 2017
.env UI Tests for the extension using selenium and behave (#5912) Jul 1, 2019
.eslintrc fix #1276 Pre-commit hooks to ensure code complies with standards (#1277 Oct 12, 2017
.gitattributes Make npm happy in regards to line endings (#357) Dec 6, 2017
.gitignore Make sure IFileSystem is registered in DI during tests. (#8902) Dec 5, 2019
.npmrc added .npmrc Oct 18, 2016
.nvmrc Update to node 10 (#5203) Apr 12, 2019
.prettierrc.js Remove deprecated prettier setting (#8656) Nov 22, 2019
.sonarcloud.properties Sonar test path fix (#7735) Oct 2, 2019
.vscodeignore Smoke tests in nodejs (#7456) Sep 27, 2019
CHANGELOG.md Merge into master from release-2019.11 (#8764) Nov 27, 2019
CODE_OF_CONDUCT.md Legal stuff to make CELA happy (#5) Nov 2, 2017
CODING_STANDARDS.md Mention which style guide takes precedence and import practices Apr 10, 2018
CONTRIBUTING.md Remind folks you must compile the tests Dec 6, 2019
LICENSE Legal stuff to make CELA happy (#5) Nov 2, 2017
PYTHON_INTERACTIVE_TROUBLESHOOTING.md Propagate error messages from jupyter to the user. (#7585) Sep 25, 2019
README.md specify fully https path to README images (#5307) Apr 16, 2019
ThirdPartyNotices-Distribution.txt Prep PR for RC release (#8442) Nov 7, 2019
ThirdPartyNotices-Repository.txt Perf fixes for the interactive window (#6566) Jul 15, 2019
experiments.json Fix control group numbers for wheels experiment (#8693) Nov 20, 2019
gulpfile.js Update ptvsd to v5.0.0a9 (#8932) Dec 6, 2019
icon.png moved icon Jul 2, 2017
package-lock.json Fix the experiment check while getting remote debugger arguments. (#8808 Nov 28, 2019
package.datascience-ui.dependencies.json Add/remove npm package dependencies related to plotly (#8792) Nov 26, 2019
package.json Attach to local process - launch.json update (#8831) Nov 28, 2019
package.nls.de.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
package.nls.es.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
package.nls.fa.json Add command translation for Farsi/Persian (#8092) Oct 26, 2019
package.nls.fr.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
package.nls.it.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
package.nls.ja.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
package.nls.json Fixup text for the jupyter server uri quick pick (#8833) Nov 27, 2019
package.nls.ko-kr.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
package.nls.nl.json simplify remote URI specification and clear up wording (#8367) Nov 4, 2019
package.nls.pl.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
package.nls.pt-br.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
package.nls.ru.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
package.nls.tr.json add command translation for turkish (#8292) Oct 31, 2019
package.nls.zh-cn.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
package.nls.zh-tw.json Drop `python.updateSparkLibrary` command (#7279) Sep 20, 2019
pvsc.code-workspace Add new folder into `src` for `ipywidgets` (#8609) Nov 15, 2019
requirements.txt Create a python daemon (#8420) Nov 8, 2019
tsconfig.datascience-ui.json UI Tests for the extension using selenium and behave (#5912) Jul 1, 2019
tsconfig.extension.json UI Tests for the extension using selenium and behave (#5912) Jul 1, 2019
tsconfig.json Add new folder into `src` for `ipywidgets` (#8609) Nov 15, 2019
tsfmt.json #1228 multi root master (#2) Nov 1, 2017
tslint.json Add new folder into `src` for `ipywidgets` (#8609) Nov 15, 2019
vscode-python-signing.csproj VS Python analysis engine integration (#1231) Mar 30, 2018
webpack.config.js Preliminary support for editing notebooks (#7222) Sep 6, 2019
webpack.datascience-ui.config.js Preliminary support for editing notebooks (#7222) Sep 6, 2019

README.md

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.5), including features such as IntelliSense, linting, debugging, code navigation, code formatting, Jupyter notebook support, refactoring, variable explorer, test explorer, snippets, and more!

Quick start

Set up your environment

  • Select your Python interpreter by clicking on the status bar

  • Configure the debugger through the Debug Activity Bar

  • Configure tests by running the Configure Tests command

For more information you can:

Useful commands

Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows/Linux) and type in one of the following commands:

Command Description
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.
Format Document Formats code using the provided formatter in the settings.json file.
Python: Configure Tests Select a test framework and configure it to display the Test Explorer.

To see all available Python commands, open the Command Palette and type Python.

Feature details

Learn more about the rich features of the Python extension:

  • IntelliSense: Edit your code with auto-completion, code navigation, syntax checking and more

  • Linting: Get additional code analysis with Pylint, Flake8 and more

  • Code formatting: Format your code with black, autopep or yapf

  • Debugging: Debug your Python scripts, web apps, remote or multi-threaded processes

  • Testing: Run and debug tests through the Test Explorer with unittest, pytest or nose

  • Jupyter Notebooks: Define and run code cells, render plots, visualize variables through the variable explorer and more

  • Environments: Automatically activate and switch between virtualenv, venv, pipenv, conda and pyenv environments

  • Refactoring: Restructure your Python code with variable extraction, method extraction and import sorting

Supported locales

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): de, en, es, fr, it, ja, ko-kr, pt-br, ru, zh-cn, zh-tw

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

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 telemetry.enableTelemetry setting which you can learn more about at https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting.

You can’t perform that action at this time.