Chuyển tới nội dung
Home » Python Extension For Visual Studio Code Download | Python Extension For Visual Studio Code

Python Extension For Visual Studio Code Download | Python Extension For Visual Studio Code

How to setup Python for VSCode in 2023 in 5mins! | Install Python and Setup VSCode for Windows 10

Jupyter notebooks

To enable Python support for Jupyter notebook files (


) in VS Code, you can install the Jupyter extension. The Python and Jupyter extensions work together to give you a great Notebook experience in VS Code, providing you the ability to directly view and modify code cells with IntelliSense support, as well as run and debug them.

You can also convert and open the notebook as a Python code file through the Jupyter: Export to Python Script command. The notebook’s cells are delimited in the Python file with


comments, and the Jupyter extension shows Run Cell or Run Below CodeLens. Selecting either CodeLens starts the Jupyter server and runs the cell(s) in the Python interactive window:

You can also connect to a remote Jupyter server to run your notebooks. For more information, see Jupyter support.

Install a Python interpreter

Along with the Python extension, you need to install a Python interpreter. Which interpreter you use is dependent on your specific needs, but some guidance is provided below.


Install Python from Use the Download Python button that appears first on the page to download the latest version.

Note: If you don’t have admin access, an additional option for installing Python on Windows is to use the Microsoft Store. The Microsoft Store provides installs of supported Python versions.

For additional information about using Python on Windows, see Using Python on Windows at


The system install of Python on macOS is not supported. Instead, a package management system like Homebrew is recommended. To install Python using Homebrew on macOS use

brew install python3

at the Terminal prompt.

Note: On macOS, make sure the location of your VS Code installation is included in your PATH environment variable. See these setup instructions for more information.


The built-in Python 3 installation on Linux works well, but to install other Python packages you must install



Other options

  • Data Science: If your primary purpose for using Python is Data Science, then you might consider a download from Anaconda. Anaconda provides not just a Python interpreter, but many useful libraries and tools for data science.

  • Windows Subsystem for Linux: If you are working on Windows and want a Linux environment for working with Python, the Windows Subsystem for Linux (WSL) is an option for you. If you choose this option, you’ll also want to install the WSL extension. For more information about using WSL with VS Code, see VS Code Remote Development or try the Working in WSL tutorial, which will walk you through setting up WSL, installing Python, and creating a Hello World application running in WSL.

Note: To verify that you’ve installed Python successfully on your machine, run one of the following commands (depending on your operating system):

Linux/macOS: open a Terminal Window and type the following command:

python3 --version

Windows: open a command prompt and run the following command:

py -3 --version

If the installation was successful, the output window should show the version of Python that you installed. Alternatively, you can use the

py -0

command in the VS Code integrated terminal to view the versions of python installed on your machine. The default interpreter is identified by an asterisk (*).

How to setup Python for VSCode in 2023 in 5mins! | Install Python and Setup VSCode for Windows 10
How to setup Python for VSCode in 2023 in 5mins! | Install Python and Setup VSCode for Windows 10

Install and use packages

Let’s build upon the previous example by using packages.

In Python, packages are how you obtain any number of useful code libraries, typically from PyPI, that provide additional functionality to your program. For this example, you use the


package to generate a random number.

Return to the Explorer view (the top-most icon on the left side, which shows files), open

, and paste in the following source code:

import numpy as np msg = "Roll a dice" print(msg) print(np.random.randint(1,9))

Tip: If you enter the above code by hand, you may find that auto-completions change the names after the


keywords when you press Enter at the end of a line. To avoid this, type a space, then Enter.

Next, run the file in the debugger using the “Python: Current file” configuration as described in the last section.

You should see the message, “ModuleNotFoundError: No module named ‘numpy'”. This message indicates that the required package isn’t available in your interpreter. If you’re using an Anaconda distribution or have previously installed the


package you may not see this message.

To install the


package, stop the debugger and use the Command Palette to run Terminal: Create New Terminal (⌃⇧` (Windows, Linux Ctrl+Shift+`)). This command opens a command prompt for your selected interpreter.

To install the required packages in your virtual environment, enter the following commands as appropriate for your operating system:

  1. Install the packages

    # Don't use with Anaconda distributions because they include matplotlib already. # macOS python3 -m pip install numpy # Windows (may require elevation) py -m pip install numpy # Linux (Debian) apt-get install python3-tk python3 -m pip install numpy

  2. Now, rerun the program, with or without the debugger, to view the output!

Congrats on completing the Python tutorial! During the course of this tutorial, you learned how to create a Python project, create a virtual environment, run and debug your Python code, and install Python packages. Explore additional resources to learn how to get the most out of Python in Visual Studio Code!

About Extensions

It’s the extensions where VSCode really starts to shine. It has extensions for virtually anything you can think of. Through these extensions, VSCode supports specific languages, like Python, but also Java, Kotlin, Javascript, Typescript, etcetera. But it also offers features like:

  • Advanced code completion, where it suggests useful ways to continue with what you are typing, taking the context into consideration
  • Integration with Version Control Systems like Git
  • Integration with cloud-based services, like GitHub, Docker Hub, etc.

The power of VSCode is that it can do all of this at once. It’s not just a Python IDE, it’s also a great HTML editor, terrific at writing Javascript, and of course, it’s great with Python code too! And the best of all: you get to decide what you want it to be able to do. So can keep it lean and mean, or install every plugin you ever need. It’s up to your taste!

How to setup Python for VSCode in 3 mins only!! I Install Python and Setup VSCode for Windows 10!
How to setup Python for VSCode in 3 mins only!! I Install Python and Setup VSCode for Windows 10!

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 or pytest.
  • Jupyter Notebooks: Create and edit Jupyter Notebooks, add and run code cells, render plots, visualize variables through the variable explorer, visualize dataframes with the data viewer, and more
  • Environments: Automatically activate and switch between virtualenv, venv, pipenv, conda and pyenv environments
  • Refactoring: Restructure your Python code with variable extraction and method extraction. Additionally, there is componentized support to enable additional refactoring, such as import sorting, through extensions including isort and Ruff.

Integrating your tool

The generated


file is where you will make most of your changes.


comments in the file point out the various customization points. Also search for


comments in other locations in the template, such as other Python and Markdown files. You will want to review the LICENSE file, even if you want to keep it MIT License.

How to set up Python on Visual Studio Code
How to set up Python on Visual Studio Code

How to install extensions

To install an extension in VSCode, you can press the large extensions button on the left, as shown in the following screenshot:

It will open the extensions marketplace. In there, enter Python in the search bar to find all extensions related to Python. You can click the extensions to read more about them and press the install button to install an extension.

Run Python code

Click the Run Python File in Terminal play button in the top-right side of the editor.

The button opens a terminal panel in which your Python interpreter is automatically activated, then runs


(macOS/Linux) or



There are three other ways you can run Python code within VS Code:

  1. Right-click anywhere in the editor window and select Run > Python File in Terminal (which saves the file automatically):

  2. Select one or more lines, then press Shift+Enter or right-click and select Run Selection/Line in Python Terminal. This command is convenient for testing just a part of a file.

  3. From the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)), select the Python: Start REPL command to open a REPL terminal for the currently selected Python interpreter. In the REPL, you can then enter and run lines of code one at a time.

Congrats, you just ran your first Python code in Visual Studio Code!

How to Run Python in Visual Studio Code on Windows 10 [2022] | Run Sample Python Program
How to Run Python in Visual Studio Code on Windows 10 [2022] | Run Sample Python Program


The Python extension supports testing with Python’s built-in unittest framework and pytest.

In order to run tests, you must enable one of the supported testing frameworks in the settings of your project. Each framework has its own specific settings, such as arguments for identifying the paths and patterns for test discovery.

Once the tests have been discovered, VS Code provides a variety of commands (on the Status Bar, the Command Palette, and elsewhere) to run and debug tests. These commands also allow you to run individual test files and methods

Enhance completions with AI

GitHub Copilot is an AI-powered code completion tool that helps you write code faster and smarter. You can use the GitHub Copilot extension in VS Code to generate code, or to learn from the code it generates.

GitHub Copilot provides suggestions for languages beyond Python and a wide variety of frameworks, including JavaScript, TypeScript, Ruby, Go, C# and C++.

You can learn more about how to get started with Copilot in the Copilot documentation.

How to Setup Python in Visual Studio Code on Windows 11
How to Setup Python in Visual Studio Code on Windows 11

Write Better Python in VS Code

The VS Code Python extensions we discussed here provide helpful features like automatic code completion, test running, indentation, useful snippets to learn Python, and adding different kinds of comments. These extensions help make code more accurate, improve readability, and detect bugs in the system.

One of these Python extensions, Lightrun, enables a robust Python debugging experience in production right from VS Code, and if this is what you need, get started with Lightrun today.

The Best VSCode Python Extensions


You at least want to install the official Python extension for Python programming. It offers many features you’ll need, like IntelliSense, linting, debugging, code navigation, code formatting, refactoring, variable explorer, test explorer, snippets, and more. You’ll automatically get the Pylance plugin when you install this plugin.


The Sonarlint plugin detects common mistakes and bugs. It detects many security and code quality issues and has saved me more than once. I highly recommend it. It’s not just for Python but also supports common languages like Java, JavaScript, TypeScript, PHP, and more.


MagicPython is a cutting-edge version of the default Python syntax highlighter in VSCode. You don’t need it unless you use cutting-edge Python versions, but I always install it just to be sure.

Python Indent

The Python Indent plugin helps you indent your code, especially when creating complex data structures between bracket pairs. E.g., when you create large nested lists, big dictionaries, etcetera.


The autoDocstring extension helps you quickly generate docstring snippets.

Visual Studio IntelliCode

The Intellicode extension is a smart, AI-assisted code completion extension built by Microsoft. It supports Python, Java, JavaScript, and TypeScript. Changes are you already have this installed, though!

Python Extension Pack

If you want to get a nice selection quickly, you can also install the Python Extension Pack. I personally prefer to pick my own selection since packs like these may change their selection of extensions at any moment and perhaps add things I don’t want.

Python 2024.1.10431006 Vsix File Free Download

A Free Programming Languages Extension By Microsoft (ms-python)

Downloads: 13528 Updated: February 12, 2024

You are about to download the Python Vsix v2024.1.10431006 file for Visual Studio Code 1.82.0 and up: Python, IntelliSense (Pylance), Linting, Debugging (multi-threaded, remote), Jupyter Notebooks, code formatting, refactoring, unit tests, and more. …

Please note that the Python Vsix file v2024.1.10431006 on VsixHub is the original file archived from the Visual Studio Marketplace. You could choose a server to download the offline vsix extension file and install it.

VSIX Package File

• Vsix File:

• Extension Version: 2024.1.10431006

• Requires: VS Code 1.82.0 and up

• File Size: 15.61 MB (16369003 Bytes)

• MD5: ee9fa945a388bf56fab61c4e365467cd

• SHA1: 5a7be3ab2f4fb72d24dcc1bf10437bda0b6dbf7f

• SHA256: b730233e6aff1a4c3a48ecd2205154ed2206a1ff789fd5a4b15a899c575e677d

• Download VSIX File from VsixHub >

• Download VSIX File from

Sendspace >

• Download VSIX File from Rapidgator >

• Get it on Visual Studio Marketplace >

Also Python is included in these tags:

⋅ debuggers ⋅ django ⋅ ini ⋅ jinja ⋅ json ⋅ keybindings ⋅ linters ⋅ multi-root ready ⋅ pip requirements ⋅ pip-requirements ⋅ python ⋅ requirements.txt ⋅ toml ⋅ unittest ⋅ yaml

What Does The Extension Do

Python is a freeware extension for VS Code published by Microsoft, you can install it to increase the power of your Visual Studio Code:

IntelliSense (Pylance), Linting, Debugging (multi-threaded, remote), Jupyter Notebooks, code formatting, refactoring, unit tests, and more. … Learn More >

How to Install Python From a VSIX

You can easily install the Python extension packaged in the .vsix file:

Launch VS Code, use the Install from VSIX command in the Extensions view command drop-down, or the Extensions: Install from VSIX… command in the Command Palette, and point to the .vsix file (i.e.

Python Version History

Python 2024.1.10361108 (Updated: February 5, 2024)

Python 2023.25.10292213 (Updated: January 30, 2024)

Python 2023.25.10221012 (Updated: January 22, 2024)

Python 2023.25.10171013 (Updated: January 17, 2024)

Python 2023.25.10111009 (Updated: January 11, 2024)

Python 2023.23.13541005 (Updated: December 20, 2023)

Python 2023.23.13481009 (Updated: December 14, 2023)

Python 2023.23.13391009 (Updated: December 5, 2023)

Python 2023.21.13351006 (Updated: December 1, 2023)

Python 2023.21.13261010 (Updated: November 22, 2023)

Getting Started with Python in VS Code

In this tutorial, you will learn how to use Python 3 in Visual Studio Code to create, run, and debug a Python “Roll a dice” application, work with virtual environments, use packages, and more! By using the Python extension, you turn VS Code into a great, lightweight Python editor.

If you are new to programming, check out the Visual Studio Code for Education – Introduction to Python course. This course offers a comprehensive introduction to Python, featuring structured modules in a ready-to-code browser-based development environment.

To gain a deeper understanding of the Python language, you can explore any of the programming tutorials listed on within the context of VS Code.

For a Data Science focused tutorial with Python, check out our Data Science section.

How to run Python in Visual Studio Code on Windows 10/11 [ 2024 Update ] Python Developers
How to run Python in Visual Studio Code on Windows 10/11 [ 2024 Update ] Python Developers

What’s Changed


  • Reliably detect whether shell integration is working by @karrtikr in #22440
  • Add consoleTitle to launch.json properties schema by @trysten in #22406
  • Support deactivating virtual environments without user intervention by @karrtikr in #22405
  • Use worker threads for fetching Windows Registry interpreters by @karrtikr in #22479
  • Show warning and allow user to turn off smart send for deprecated Python code by @anthonykim1 in #22353
  • Use worker threads for fetching conda environments and interpreter related info by @karrtikr in #22481
  • Use shell integration to denote success/failure by @anthonykim1 in #22487

Bug Fixes

  • Do not prefer Microsoft store interpreter over other global interpreters when auto-selecting by @karrtikr in #22380
  • Ensure Python environment defined in


    is returned via discovery API by @karrtikr in #22389
  • Refactor get_node_path function to handle fspath greedy access by @eleanorjboyd in #22384
  • Do not attempt to kill the process if it has already exited by @karrtikr in #22424
  • Improve shell identifier on case-insensitive system by @JamzumSum in #22391
  • Adding


    comments to walkthrough commands by @cwebster-99 in #22432
  • If active editor opened is outside the editor, activate the first workspace by @karrtikr in #22450
  • Install requirements before toml by @karthiknadig in #22468
  • Use

    in addition to workspace folder’s basename when resolving


    syntax in settings by @karrtikr in #22471
  • Bump


    and fix tests by @karthiknadig in #22493
  • Resolve test suite discovery import errors due to path ordering by @shanesaravia in #22454
  • switch to conditional error message on check for UUID and port during pytest config by @eleanorjboyd in #22534
  • Improvement: Pass along python interpreter to jedi-language-server by @johnhany97 in #22466
  • White space after REPL prompt by @anthonykim1 in #22549
  • Fix shell integration decoration for windows pwsh by @anthonykim1 in #22560
  • fix no test id provided for pytest run by @eleanorjboyd in #22569
  • Fix shell integration decoration bug for Windows pwsh by @anthonykim1 in #22572
  • Revert unsuccessful REPL decoration fix and disable for windows by @anthonykim1 in #22578

Code Health

  • Remove deprecated settings by @karthiknadig in #22377
  • Use python test runner for extension python tests by @karthiknadig in #22385
  • Use nox to install packages by @karthiknadig in #22381
  • Remove unused packages from


    by @karthiknadig in #22386
  • Add cwd to error logs by @eleanorjboyd in #22387
  • remove new line chars from error text messages in testing rewrite by @eleanorjboyd in #22402
  • Remove old code for folder support in interpreter path setting by @karrtikr in #22413
  • Add 3.12 to conda version list by @karthiknadig in #22470

Python extension template

The Python extension template helps get you started building a Visual Studio Code extension for your favorite Python tool. It could be a linter, formatter, or code analysis, or all of those together. The template will give you the basic building blocks you need to build an extension that integrates your tool into VS Code, and it already has access to the Python APIs mentioned above.

How to install Visual Studio Code on Windows 10/11 [ 2024 Update ] Complete Guide
How to install Visual Studio Code on Windows 10/11 [ 2024 Update ] Complete Guide

What’s Changed


  • Add dynamic test result update by @eleanorjboyd in #21466
  • Dev Container for VS Code Python Extension by @anthonykim1 in #21435
  • Split subtest name to be unique second half by @eleanorjboyd in #21497

Bug Fixes

  • Fix


    run script to add


    to path by @eleanorjboyd in #21399
  • Fix for showing button in merge result editor by @karthiknadig in #21408
  • Revert: Run in dedicated terminal feature due to regressions by @karthiknadig in #21418
  • Read launch config in workspace file by @paulacamargo25 in #21426
  • Fix bug that errors on repeat folder name by @eleanorjboyd in #21433
  • Use


    in debug testing by @paulacamargo25 in #21437
  • Fix error checking python version by @paulacamargo25 in #21464
  • Adopt lifecycle managed by parent by @paulacamargo25 in #21467
  • Add to payload to allow error parsing on TS by @eleanorjboyd in #21483
  • Let




    cancellation in the browser by @rchiodo in #21482
  • Add


    to python path during



    by @eleanorjboyd in #21490
  • Fix bug that caused dup in param test cases by @eleanorjboyd in #21498
  • Fix filtering with


    by @karthiknadig in #21524
  • Rewrite should respect setting


    by @eleanorjboyd in #21539
  • Fix bug which merges all parametrize test classes by @eleanorjboyd in #21542
  • Fix bug where session path is undefined by @eleanorjboyd in #21544
  • Fix


    in discovery


    by @paulacamargo25 in #21546
  • Fix path for


    Nodes by @eleanorjboyd in #21548

Code Health

  • Add function node for parameterized tests


    by @eleanorjboyd in #21368
  • Remove


    dependency from readme by @minsa110 in #21375
  • Don’t send telemetry in forks by @paulacamargo25 in #21377
  • Python Walkthrough Updates by @cwebster-99 in #21411
  • Add test for import


    error by @eleanorjboyd in #21472
  • Update to align with sys path appends by @eleanorjboyd in #21547

Full Changelog: v2023.10.1…v2023.12.0


The Python extension automatically detects Python interpreters that are installed in standard locations. It also detects conda environments as well as virtual environments in the workspace folder. See Configuring Python environments.

The current environment is shown on the right side of the VS Code Status Bar:

The Status Bar also indicates if no interpreter is selected:

The selected environment is used for IntelliSense, auto-completions, linting, formatting, and any other language-related feature. It is also activated when you run or debug Python in a terminal, or when you create a new terminal with the Terminal: Create New Terminal command.

To change the current interpreter, which includes switching to conda or virtual environments, select the interpreter name on the Status Bar or use the Python: Select Interpreter command.

VS Code prompts you with a list of detected environments as well as any you’ve added manually to your user settings (see Configuring Python environments).

The Best VSCode Extensions 2024
The Best VSCode Extensions 2024

What’s Changed


  • Display errors and tests on discovery by @eleanorjboyd in #21629
  • Add npm project for Python API by @karrtikr in #21631
  • Added Dev Container Using MCR by @anthonykim1 in #21675

Bug Fixes

  • Correct PATH env var name for non-Windows when applying env var collection for microvenv by @karrtikr in #21564
  • Fix duplicate class names processed as single node in build test tree pytest by @eleanorjboyd in #21601
  • Return exceptions & skips correctly pytest by @eleanorjboyd in #21603
  • Handle skipped marker on class level by @eleanorjboyd in #21612
  • Fix for CodeQL errors by @karthiknadig in #21613
  • Handle error tests as a different test icon by @eleanorjboyd in #21630
  • Compare global storage data using only


    by @msujew in #21636
  • Correct discovery on unittest skip at file level by @eleanorjboyd in #21665
  • Ensure

    Run Python in dedicated terminal



    setting by @karrtikr in #21681
  • Handle skip unittest at file without error by @eleanorjboyd in #21678

Code Health

  • Disable creating gh tags for pre-releases by @karthiknadig in #21563
  • Remove needs labels by @eleanorjboyd in #21572
  • Info needed closer by @eleanorjboyd in #21575
  • Move lock issues by @eleanorjboyd in #21580
  • Move more workflows to python by @eleanorjboyd in #21581
  • Update list of repo labels by @karrtikr in #21597
  • Add pythonwelcome2 walkthrough to activation reason by @luabud in #21588
  • Download

    during build by @karthiknadig in #21589
  • Bump semver by @rzhao271 in #21618
  • Delete run messages by @eleanorjboyd in #21620
  • Add deprecation warning for linting and formatting settings by @luabud in #21585
  • Update writing style based on recommendation by @karthiknadig in #21525
  • Add extra logging regarding interpreter discovery by @karrtikr in #21639
  • Bring back feature to Run Python file in dedicated terminal by @karrtikr in #21656
  • Prevent posix paths locator from crashing by @karrtikr in #21657
  • Do not resolve symbolic links in posix locator if they exceed the count limit by @karrtikr in #21658
  • Add new telemetry property to GPDR by @rchiodo in #21683
  • Do not show “Select at workspace level” option if only one workspace folder is opened by @karrtikr in #21689
  • Remove unwanted Jupyter API by @DonJayamanne in #21702
  • Removing Jupyter Notebooks mentions from package.json by @cwebster-99 in #21708
  • Add area-repl to issue label by @anthonykim1 in #21718
  • Update packages for Jedi and core python by @karthiknadig in #21710


  • Ability to install programs locally.
  • Basic familiarity with programming concepts.
  • Introduction min
  • Install Python 3 min
  • Knowledge check min
  • Summary min

Now that you have VSCode installed and know how to open it, we need to discuss one final topic before you start creating your Python programs: VSCode Python extensions. You should see VSCode as a basic framework. It can do things like:

  • Open, edit, and save files
  • Lets you work on projects
  • Start in-app terminals to keep things together
  • Manage extensions
Vscode Extension Installation Error Fix - Error While Installing Extension Please Check the Log
Vscode Extension Installation Error Fix – Error While Installing Extension Please Check the Log

Next steps

To learn how to build web apps with popular Python web frameworks, see the following tutorials:

There is then much more to explore with Python in Visual Studio Code:

  • Python profile template – Create a new profile with a curated set of extensions, settings, and snippets
  • Editing code – Learn about autocomplete, IntelliSense, formatting, and refactoring for Python.
  • Linting – Enable, configure, and apply a variety of Python linters.
  • Debugging – Learn to debug Python both locally and remotely.
  • Testing – Configure test environments and discover, run, and debug tests.
  • Settings reference – Explore the full range of Python-related settings in VS Code.
  • Deploy Python to Azure App Service
  • Deploy Python to Container Apps

Python in Visual Studio Code – October 2021 Release

We are pleased to announce that the October 2021 release of the Python Extension for Visual Studio Code is now available. You can download the Python extension from the Marketplace, or install it directly from the extension gallery in Visual Studio Code. If you already have the Python extension installed, you can also get the latest update by restarting Visual Studio Code. You can learn more about Python support in Visual Studio Code in the documentation.

In this release we closed a total of 88 issues, and it includes:

  • Debugging support for Jupyter Notebooks
  • A new Python walkthrough
  • Improvements to the debugging experience for Python files and projects

If you’re interested, you can check the full list of improvements in our changelog.

Debugging support for Jupyter Notebooks

We’re excited to announce that you can now debug your Python cells on Jupyter notebooks!

To try it out, make sure you have ipykernel v6+ installed in your selected kernel. Then set a breakpoint, select the Debug Cell command from the drop-down menu next to the play button and start inspecting your code with all the features the debugger has to offer!

New Python walkthrough

We’re excited to announce that this release includes a walkthrough with some basic set up steps to improve the getting started experience for Python in VS Code.

The walkthrough covers steps such as Python installation, selection of an interpreter for your project and how to run and debug Python files in VS Code. We hope this will be a quick and helpful guide for those learning or starting Python for the first time in VS Code!

Improvements in the debugging experience for Python projects

When working with workspaces with no launch.json configuration present, the Python extension would display a debugger configuration menu every time you would debug your Python file or project. This could be particularly annoying when debugging a web application with custom arguments (like Flask, Django or FastAPI, for example).

Now you no longer need to provide a configuration every time you start debugging, as the first selection you make is reused for the rest of the session.

Other Changes and Enhancements

We have also added small enhancements and fixed issues requested by users that should improve your experience working with Python in Visual Studio Code. Some notable changes include:

  • python.testing.cwd setting is no longer ignored when discovering or running tests. (#8678)
  • Upgraded to Jedi 0.18 and enabled it behind the language server protocol. Remove Jedi-related settings python.jediMemoryLimit and python.jediPath, since they are not used with the new language server implementation. (#11995)
  • Removed support for rope, ctags and pylintMinimalCheckers setting. Refactoring, syntax errors and workspace symbols are now supported via language servers. (#10440, #13321, #16063)
  • Default value of python.linting.pylintEnabled has been changed to false. (#3007)

Special thanks to this month’s contributors:

  • Anupama Nadig: Fix casing of text in unittest patterns quickpick. (#17093)
  • Erik Demaine: Improve pattern matching for shell detection on Windows. (#17426)
  • ilexei: Changed the way of searching left bracket [ in case of subsets of tests. (#17461)

Be sure to download the Python extension for Visual Studio Code now to try out the above improvements. If you run into any problems or have suggestions, please file an issue on the Python VS Code GitHub page.

Authoring Python Extensions

Note: If you are new to VS Code extension authoring, you may want to read the Your First Extension tutorial first and try creating a simple Hello World extension.

The Python extension provides APIs for other extensions to work with Python environments available on the user’s machine. Check out @vscode/python-extension npm module that includes types and helper utilities to access these APIs from your extension.

Install Python and the Python extension

The tutorial guides you through installing Python and using the extension. You must install a Python interpreter yourself separately from the extension. For a quick install, use Python from and install the extension from the VS Code Marketplace.

Note: To help get you started with Python development, you can use the Python profile template that includes useful extensions, settings, and Python code snippets.

Once you have a version of Python installed, select it using the Python: Select Interpreter command. If VS Code doesn’t automatically locate the interpreter you’re looking for, refer to Environments – Manually specify an interpreter.

You can configure the Python extension through settings. Learn more in the Python Settings reference.

Windows Subsystem for Linux: If you are on Windows, WSL is a great way to do Python development. You can run Linux distributions on Windows and Python is often already installed. When coupled with the WSL extension, you get full VS Code editing and debugging support while running in the context of WSL. To learn more, go to Developing in WSL or try the Working in WSL tutorial.

How to Run Python in Visual Studio Code on Windows 10 2022 Best IDE
How to Run Python in Visual Studio Code on Windows 10 2022 Best IDE

Programming languages and frameworks

The extension template has two parts, the extension part and language server part. The extension part is written in TypeScript, and language server part is written in Python over the


(Python language server) library.

You will mostly be working on the Python part of the code when using this template. You will be integrating your tool with the extension part using the Language Server Protocol.


currently works on the version 3.16 of LSP.

The TypeScript part handles working with VS Code and its UI. The extension template comes with a few settings built-in that can be used by your tool. If you need to add new settings to support your tool, you will have to work with a bit of TypeScript. The extension template has examples for a few settings and you can also look at extensions developed by our team for some of the popular tools.

Python profile template

Profiles let you quickly switch your extensions, settings, and UI layout depending on your current project or task. To help you get started with Python development, you can use the Python profile template, which is a curated profile with useful extensions, settings, and snippets. You can use the profile template as is or use it as a starting point to customize further for you own workflows.

You select a profile template through the Profiles > Create Profile… dropdown:

Once you select a profile template, you can review the settings and extensions, and remove individual items if you don’t want to include them in your new Profile. After creating the new profile based on the template, changes made to settings, extensions, or UI are persisted in your profile.

Top 5 VSCode Extensions for Python Developers in 2023
Top 5 VSCode Extensions for Python Developers in 2023

Run Python code

To experience Python, create a file (using the File Explorer) named

and paste in the following code:

print("Hello World")

The Python extension then provides shortcuts to run Python code using the currently selected interpreter (Python: Select Interpreter in the Command Palette). To run the active Python file, click the Run Python File in Terminal play button in the top-right side of the editor.

You can also run individual lines or a selection of code with the Python: Run Selection/Line in Python Terminal command (Shift+Enter). If there isn’t a selection, the line with your cursor will be run in the Python Terminal. An identical Run Selection/Line in Python Terminal command is available on the context menu for a selection in the editor. The same terminal will be used every time you run a selection or a line in the terminal/REPL, until that terminal is closed. The same terminal is also used for Run Python File in Terminal. If that terminal is still running the REPL, you should exit the REPL (


) or switch to a different terminal before running a Python file.

The Python extension automatically removes indents based on the first non-empty line of the selection, shifting all other lines left as needed.

The command opens the Python Terminal if necessary; you can also open the interactive REPL environment directly using the Python: Start REPL command that activates a terminal with the currently selected interpreter and then runs the Python REPL.

For a more specific walkthrough and other ways of running code, see the run code tutorial.

Configure and run the debugger

Let’s now try debugging our Python program. Debugging support is provided by the Python Debugger extension, which is automatically installed with the Python extension. To ensure it has been installed correctly, open the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)) and search for

@installed python debugger

. You should see the Python Debugger extension listed in the results.

Next, set a breakpoint on line 2 of

by placing the cursor on the

Next, to initialize the debugger, press F5. Since this is your first time debugging this file, a configuration menu will open from the Command Palette allowing you to select the type of debug configuration you would like for the opened file.

Note: VS Code uses JSON files for all of its various configurations;


is the standard name for a file containing debugging configurations.

Select Python File, which is the configuration that runs the current file shown in the editor using the currently selected Python interpreter.

The debugger will start, and then stop at the first line of the file breakpoint. The current line is indicated with a yellow arrow in the left margin. If you examine the Local variables window at this point, you can see that the


variable appears in the Local pane.

A debug toolbar appears along the top with the following commands from left to right: continue (F5), step over (F10), step into (F11), step out (⇧F11 (Windows, Linux Shift+F11)), restart (⇧⌘F5 (Windows, Linux Ctrl+Shift+F5)), and stop (⇧F5 (Windows, Linux Shift+F5)).

The Status Bar also changes color (orange in many themes) to indicate that you’re in debug mode. The Python Debug Console also appears automatically in the lower right panel to show the commands being run, along with the program output.

To continue running the program, select the continue command on the debug toolbar (F5). The debugger runs the program to the end.

Tip Debugging information can also be seen by hovering over code, such as variables. In the case of


, hovering over the variable will display the string

Roll a dice!

in a box above the variable.

You can also work with variables in the Debug Console (If you don’t see it, select Debug Console in the lower right area of VS Code, or select it from the … menu.) Then try entering the following lines, one by one, at the > prompt at the bottom of the console:

msg msg.capitalize() msg.split()

Select the blue Continue button on the toolbar again (or press F5) to run the program to completion. “Roll a dice!” appears in the Python Debug Console if you switch back to it, and VS Code exits debugging mode once the program is complete.

If you restart the debugger, the debugger again stops on the first breakpoint.

To stop running a program before it’s complete, use the red square stop button on the debug toolbar (⇧F5 (Windows, Linux Shift+F5)), or use the Run > Stop debugging menu command.

For full details, see Debugging configurations, which includes notes on how to use a specific Python interpreter for debugging.

Tip: Use Logpoints instead of print statements: Developers often litter source code with

Visual Studio Code Tutorial - How to add extension packs (VSCODE)
Visual Studio Code Tutorial – How to add extension packs (VSCODE)

What’s Changed


  • Add setting to control severity of missing package diagnostic by @karthiknadig in #21794
  • Support for Create Env command to re-create env for venv by @karthiknadig in #21829
  • Apply custom env variables to terminal when in


    experiment by @karrtikr in #21879
  • Also show interpreter in status bar when a Python related output channel is opened by @karrtikr in #21894

Bug Fixes

  • Make test_ids relative to workspace path not root dir by @eleanorjboyd in #21682
  • Fix UUID and disposing by @eleanorjboyd in #21667
  • add cwd for debugging by @eleanorjboyd in #21668
  • update tests only on save with more files excluded by @eleanorjboyd in #21741
  • revert absolute test-ids by @eleanorjboyd in #21742
  • Improvements to


    experiment by @karrtikr in #21751
  • revert due to buffer overflow on subprocess by @eleanorjboyd in #21762
  • Feature branch testing overflow bug fix by @eleanorjboyd in #21812
  • fixing failing tests on CI by @eleanorjboyd in #21814
  • fix data to string from buffer for output channel by @eleanorjboyd in #21821
  • Set workspaceFolder in debug config before substituting command variables by @karrtikr in #21835
  • Wrap env collection workspace proposed APIs in


    block by @karrtikr in #21846
  • remove usage of pytest CollectReport in rewrite by @eleanorjboyd in #21859
  • Do not filter using scheme when filtering environments by @karrtikr in #21862
  • Activate environment when not using integrated terminal for debugging by @karrtikr in #21880
  • Fixes for issues from test plans by @karthiknadig in #21896
  • Always prepend to PATH instead of replacing it by @karrtikr in #21906

Code Health

  • Remove unwanted Jupyter API by @DonJayamanne in #21702
  • Removing Jupyter Notebooks mentions from package.json by @cwebster-99 in #21708
  • add area-repl to issue label by @anthonykim1 in #21718
  • Update packages for Jedi and core python by @karthiknadig in #21710
  • unittest discovery errors not displaying in test explorer by @eleanorjboyd in #21726
  • Remove old and unused API for Jupyter Ext by @DonJayamanne in #21731
  • Clean up smoke test requirement by @anthonykim1 in #21729
  • Remove vscode types dependency from API npm package and document to install it separately by @karrtikr in #21764
  • Add Ruff to CI by @anthonykim1 in #21739
  • Use updated API to fetch scoped env collection by @karrtikr in #21788
  • Fix


    to stop disposing of all services by @eleanorjboyd in #21811
  • Show notification reaffirming Python extension still handles activation when in


    experiment by @karrtikr in #21802
  • Apply API recommendations for Create Env API by @karthiknadig in #21804
  • Show

    Python: Clear Workspace interpreter

    command regardless of whether a Python file is opened by @karrtikr in #21858
  • Remove finalized API proposals from package.json by @Tyriar in #21900

Full Changelog: v2023.14.0…v2023.16.0


There are several example implementations created from the template:

  • Pylint – implements linting and Code Actions on file




    , and


  • Flake8 – implements linting and Code Actions.
  • Black Formatter – integrates the Black formatter.
  • autopep8 – integrates the autopep8 formatter.
  • isort – adds Code Actions to sort imports.

You can also review the Language Server Protocol specification to better understand the


language server integration.

PyScript | Run Python in your HTML | Write your first PyScript Program in VSCode | PYTHON in BROWSER
PyScript | Run Python in your HTML | Write your first PyScript Program in VSCode | PYTHON in BROWSER

Supported locales

The extension is available in multiple languages:






























Top 8 VS Code Python Extensions

To simplify your search for the most suitable Python extensions for your needs, we put together a list of the top 8 VS Code Python extensions available on the market:

Python (Microsoft)

Python VS Code extension developed by Microsoft is a feature-rich Python extension that is completely free. VS Code will automatically suggest this extension when you start to create a .py file. Its IntelliSense feature enables useful functionality like code auto-completion, navigation, and syntax checking.

When you install it, the Python VS Code extension will automatically add the Pylance extension, which gives you rich language support, and the Jupyter extension for using Jupyter notebooks. To run tests, you can also use unittest or pytest through its Test Explorer feature. Other valuable capabilities include code debugging, formatting, refactoring, and automatic switching between various Python environments.


Lightrun is a real-time debugging platform that supports applications written in several languages, including Python, and is available as a VS Code extension. It consists of an intuitive interface for you to add logs, traces, and metrics in real-time for debugging code in production. You can add Lightrun snapshots to explore the stack trace and variables without stopping your live application.

Also, you can add real-time performance metrics to measure your code’s performance and synchronization, which will allow you to find performance bottlenecks in your applications. Lightrun supports multi-instance applications such as microservices and big data workers with a tagging mechanism. Lightrun it a commercial product, but it comes with a 14-day free trial.

Python Preview

This VS Code extension helps understand and debug Python code faster by visualizing code execution with animations and graphics. It previews object allocation and stack frames side-by-side with your code editor, even before you start debugging. This Python extension is also 100% free to use.

Better Comments

Comments are critical for any code as they help the developers understand the code better. The Better Comments Python extension is slightly different than the others. It focuses solely on making more human-friendly and readable comments for your Python code. With this extension, you can organize your annotations and improve code clarity. You can use several categories and colors to categorize your annotations—for example, Alerts, Queries, TODOs, and Highlights.

You can also mark commented-out code in a different style and set various comment settings as you see fit. This free VS Code extension also supports many other programming languages.

Python Test Explorer

When developing an application, testing is a must to maintain code quality, and you will have to use different types of test frameworks. The Python Test Explorer extension for VS Code lets you run Unittest, Pytest, or Testplan tests.

The Test Explorer extension will show you a complete view of tests and test suites along with their state in VS Code’s sidebar. You can easily see which tests are failing and focus on fixing them.

In addition, this VS Code extension supports convenient error reporting. It will indicate tests having errors, and you can see the complete error message by clicking on them. If you are working with multiple project folders in VS Code, it enables you to run tests on such multi-root workspaces.

Python Indent

Having the correct indentation is vital when developing in Python, and adding closing brackets can sometimes get cumbersome. The Python Indent extension helps you maintain proper Python indentation in VS Code. This extension adds closing brackets automatically when you press the Tab key, which speeds up coding and enables you to save a lot of your valuable time.

It can also indent keywords, extend comments and trim whitespace lines. This free VS Code Python extension works by registering the Enter key as a keyboard shortcut, though sometimes it can unexpectedly override the Enter behavior.

Python Snippets 3

Python Snippets 3 is a helpful VS Code extension that makes Python code snippets available while you are typing. It provides snippets like built-in strings, lists, sets, tuples, and dictionaries. Other code snippets include if/else, for, while, while/else, try/catch, etc.

There are also Python snippets for Object-Oriented Programming concepts such as inheritance, encapsulation, polymorphism, etc. Since this VS Code extension provides many Python code examples, it is helpful for beginners. However, note that this extension can sometimes add incorrect tab spaces.

Bracket Pair Colorizer 2 (CoenraadS)

Bracket Pair Colorizer 2 is another VS Code Python extension that lets developers quickly identify which brackets pair with each other and makes it easier to read code. Matching brackets are highlighted with colors, and you can set tokens and colors that you want to use. This free VS Code extension can be even more helpful if your Python code contains nested conditions and loops.

Although marked as deprecated, this extension is still popular, and many users prefer it to the native Python bracket matching functionality that has since been added to VS Code.

VS Code Extension Installation Error Fix (Solution)
VS Code Extension Installation Error Fix (Solution)

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

Python in Visual Studio Code

Working with Python in Visual Studio Code, using the Microsoft Python extension, is simple, fun, and productive. The extension makes VS Code an excellent Python editor, and works on any operating system with a variety of Python interpreters. It leverages all of VS Code’s power to provide auto complete and IntelliSense, linting, debugging, and unit testing, along with the ability to easily switch between Python environments, including virtual and conda environments.

This article provides only an overview of the different capabilities of the Python extension for VS Code. For a walkthrough of editing, running, and debugging code, use the button below.

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


Format Document
Formats code using the provided formatter in the



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


. For Jupyter extension commands, just type



How To Install C C++ Extension Pack  in Visual Studio Code || By BDM Captain
How To Install C C++ Extension Pack in Visual Studio Code || By BDM Captain

What’s Changed


  • Add support to delete and re-create .conda environments by @karthiknadig in #21977
  • Open requirement files by @karthiknadig in #21917
  • Changed order of options in Create Environment flow when .venv exist by @annaburlyaeva in #22055
  • Show a prompt asking users if they want to create environment by @karthiknadig in #22071

Bug Fixes

  • Fix unittest subtest names that have spaces by @eleanorjboyd in #21947
  • Incorrect print included for absolute path calculations by @eleanorjboyd in #21932
  • Handle subprocess segfaults for testAdapters by @eleanorjboyd in #21963
  • Fix


    in tasks.json in multiroot workspaces by @karrtikr in #21980
  • Use stdin if workspace has large number of requirements by @karthiknadig in #21988
  • Do not upper case custom env variables by @karrtikr in #22004
  • pytest complicated parameterize test parsing by @eleanorjboyd in #22001
  • Support EOT for testing by @eleanorjboyd in #21876
  • switch | to unions to be 3.8 compatible by @eleanorjboyd in #22025
  • Add python 3.8 and 3x specific runs by @karthiknadig in #22023
  • Fix duplicate environments showing up on macOS by @karrtikr in #22030
  • Handle exceptions during test discovery by @eleanorjboyd in #22026
  • Update language to encourage reading “Migration to Python Tools Extensions” by @Spitfire1900 in #22019
  • Make sure


    ends with a separator before prepending by @karrtikr in #22046
  • Fix bugs related to discovery blocking other features by @karrtikr in #22041
  • Respect


    when activating virtual envs by @karrtikr in #22053
  • Respect conda changeps1 config when setting PS1 by @karrtikr in #22054
  • Add await for stdout by @eleanorjboyd in #22049
  • Explicitly continue execution after timeout on launching conda binary is reached by @karrtikr in #22072
  • Calculate PS1 instead of using PS1 returned by shell by @karrtikr in #22078
  • Fix progress indicator when reactivating terminals by @karrtikr in #22082
  • Ensure we don’t show version selection when user selects useExisting by @karthiknadig in #22099
  • Fix regex split for subtest names by @eleanorjboyd in #22107
  • Ignore payload key-value if value is empty by @eleanorjboyd in #22105
  • Fire active environment change event if active environment is deleted by @karrtikr in #22113

Code Health

  • Remove old linter and formatter prompts and commands by @karthiknadig in #21979
  • Remove activation triggers that are handled automatically by @karthiknadig in #21918
  • Update telemetry package by @luabud in #21914
  • Catch errors when looking up python binaries in a PATH by @karrtikr in #21948
  • Update Python extension API version by @karrtikr in #21953
  • Added git settings for branch name suggestion, protection, pull, and mergeEditor by @anthonykim1 in #21954
  • Do not assume casing of activated environment variables Python returns by @karrtikr in #21970
  • Drop Python 3.7 support by @anthonykim1 in #21962
  • Clear environment collection only after all async operations are done by @karrtikr in #21975
  • Remove envShellEvent proposal usage by @Tyriar in #21997
  • Remove repo labels corresponding to removing unrecognized label workflow by @karrtikr in #22022
  • Remove sort imports from command palette and context menu by @ludizhan in #22058
  • Pytest to pytest by @himi11 in #22062
  • Bump jedi-language-server and jedi by @PeterJCLaw in #22069
  • Switch to verbose for raw data logs by @eleanorjboyd in #22110
  • Align env type capitalization with tool recommendation by @Tyriar in #22103
  • Check existence of value in header before trim process json rpc by @eleanorjboyd in #22116

Other popular Python extensions

The Microsoft Python extension provides all of the features described previously in this article. Additional Python language support can be added to VS Code by installing other popular Python extensions.

  1. Open the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)).
  2. Filter the extension list by typing ‘python’.

The extensions shown above are dynamically queried. Click on an extension tile above to read the description and reviews to decide which extension is best for you. See more in the Marketplace.

How To Install & Use/Import Python Packages in Visual Studio Code (2022)
How To Install & Use/Import Python Packages in Visual Studio Code (2022)


  1. VS Code 1.64.0 or greater
  2. Python 3.7 or greater
  3. node >= 14.19.0
  4. npm >= 8.3.0 (


    is installed with node, check npm version, use

    npm install -g [email protected]

    to update)
  5. Python extension for VS Code

You should know how to create and work with Python virtual environments.

What’s Changed


  • Bump Jedi to 0.19.1 for Python 3.12 support by @PeterJCLaw in #22132
  • Remove


    support by @karthiknadig in #22187
  • REPL Smart Shift+Enter and Dynamic Smart Cursor by @anthonykim1 in #21779
  • add clickable show logs on discovery error by @eleanorjboyd in #22199
  • Remove formatting support by @karthiknadig in #22196
  • switch testing output to test result panel by @eleanorjboyd in #22039
  • Remove formatting settings by @karthiknadig in #22202
  • Handle white spaces for list along with dictionary by @anthonykim1 in #22209
  • Guide users to install workaround when deactivate command is run by @karrtikr in #22223
  • Support powershell activation even if Powershell execution is disabled on the system by @karrtikr in #22273
  • Only show terminal notification for basic terminals created using ‘+’ icon by @karrtikr in #22275
  • Improve notification texts for terminal activation by @karrtikr in #22323

Bug Fixes

  • handle key error pytest by @eleanorjboyd in #22151
  • fix to get user defined env and use it to set up testing subprocess by @eleanorjboyd in #22165
  • fix bug with unittest debug not having args by @eleanorjboyd in #22169
  • fix unittest output to remove print of only object reference by @eleanorjboyd in #22180
  • Skip setting


    when activating terminals by @karrtikr in #22213
  • remove node deletion for error tolerant discovery by @eleanorjboyd in #22207
  • add hookwrappers to pytest plugin to ensure run by @eleanorjboyd in #22240
  • add wrapper hook for pytest_runtest_protocol by @eleanorjboyd in #22243
  • add correct retrieval of workspace adapter for test discovery in multiroot context by @eleanorjboyd in #22246
  • Remove unmatched parenthesis from error message by @BoltonBailey in #22254
  • Fix for stack overflow on dispose by @karthiknadig in #22263
  • add envFile’s pythonpath before running tests by @eleanorjboyd in #22269
  • Use taskkill to kill processes on Windows by @karrtikr in #22286
  • Update linter and formatter warning notifications by @karthiknadig in #22292
  • Update warning for the deprecated settings in python by @karthiknadig in #22345
  • Save env vars at first pytest hook to ensure theyre unedited by @eleanorjboyd in #22344
  • Trim ends before add lines to logs from create env output by @karthiknadig in #22358
  • allow -v, -f, -q, –local in unittest args by @eleanorjboyd in #22357

Code Health

  • switch end to end tests to randomized substring by @eleanorjboyd in #22114
  • Migrate extension to node 18 by @karrtikr in #22135
  • switch to using envvars for port and uuid in unittest by @eleanorjboyd in #22131
  • Use python 3.12-dev by @karthiknadig in #22043
  • Move tensorboard support into a separate extension by @DonJayamanne in #22197
  • Add logging for failure to retrieve environment variables, testing rewrite by @eleanorjboyd in #22203
  • remove asserts from catchable code for testing by @eleanorjboyd in #22210
  • Enable experiments for all tests by @anthonykim1 in #22194
  • Add support for a tensorboard experiment by @DonJayamanne in #22215
  • Deprecate the log directory setting by @DonJayamanne in #22236
  • Fix experiment telemetry related to optInto/optOutFrom settings by @karrtikr in #22241
  • Remove unused text edit code by @karthiknadig in #22244
  • Add extra logging to PythonTestServer data received before parsed as json by @eleanorjboyd in #22265
  • Remove linting support by @karthiknadig in #22266
  • Log commands when using raw process APIs directly by @karrtikr in #22326
  • fix small logging issues for testing deprecation & duplicate log by @eleanorjboyd in #22349
How to setup Visual Studio Code for Python 3.10 development in Windows 11
How to setup Visual Studio Code for Python 3.10 development in Windows 11

Installed extensions

The Python extension will automatically install the following extensions by default to provide the best Python development experience in VS Code:

  • Pylance – to provide performant Python language support
  • Python Debugger – to provide a seamless debug experience with debugpy

These extensions are optional dependencies, meaning the Python extension will remain fully functional if they fail to be installed. Any or all of these extensions can be disabled or uninstalled at the expense of some features. Extensions installed through the marketplace are subject to the Marketplace Terms of Use.

Packaging and publishing

Before publishing your extension, you’ll need to update the extension


fields (such as




) for your specific extension. You also want to update the auxiliary Markdown files (


, etc.).

Once your extension is ready to publish, there is a



task to create a


file, which you can then upload to your extension management page.

If you are new to creating and publishing VS Code extensions, we recommend you follow best practices outlined in the main VS Code extension authoring topics. Here you’ll find guidance to help make your extension look great on the Marketplace and how to become a verified publisher so that the users feel confident installing your extension.

Top 8 VS Code Python Extensions

Visual Studio Code (a.k.a. VS Code or VScode) is an open-source and cross-platform source code editor. It was ranked the most popular development tool in the Stack Overflow 2021 Developer Survey, with 70% of the respondents using it as their primary editor. VS Code allows you to use a few programming languages like JavaScript and TypeScript. Still, you need VS Code extensions if you want to use any other programming language or take advantage of extra tools to improve your code.

Python is one of the top computer languages used by developers worldwide for creating a variety of programs, from simple to scientific applications. But VS Code does not directly support Python. Therefore, if you want to use Python in VS Code, it is important to add good Python extensions. Luckily, there are many options available. However, the biggest challenge is to find the most complete and suitable extensions for your requirements.

How to Add Python Interpreter in Visual Studio Code - Step By Step
How to Add Python Interpreter in Visual Studio Code – Step By Step

Getting started

To get started, follow the instructions in the template README. There you will learn how to use the template to create your repository and how to install the necessary tools (for example, the nox task runner) and optional dependencies (testing support).

The README has the most up-to-date instructions and also goes into details on how to customize the extension’s


placeholders (, , etc.).

What’s Changed


  • Add create environment to select interpreter by @karthiknadig in #22746
  • Allow run recent command for REPL using shell integration by @anthonykim1 in #22720

Bug Fixes

  • Revert “Remove old code for folder support in interpreter path setting” by @karrtikr in #22638
  • support multi-level nested classes pytest by @eleanorjboyd in #22681
  • unittest: switch to using top dir since test ids are relative to it by @eleanorjboyd in #22609
  • Bring back REPL shell integration decoration for Mac and Linux by @anthonykim1 in #22714
  • Fix for issue with environment path and Jedi by @karthiknadig in #22713
  • use abspath for top_level_dir for build_test_tree by @eleanorjboyd in #22740
  • Remove star from recommended by @karthiknadig in #22759
  • Rename




    to prevent shadowing by @karthiknadig in #22760
  • Show name for conda environments created in the workspace by @PopoDev in #22701
  • Remove unsupported proposed APIs enablement from


    by @karthiknadig in #22787
  • changes to support pytest 8 by @eleanorjboyd in #22799

Code Health

  • Fix localization failure for pre-release by @karrtikr in #22639
  • Remove experimental tag from createEnvironment.contentButton setting by @luabud in #22629
  • Add localization check to CI by @karrtikr in #22646
  • add logging for when testing is already running and causes new runs to be canceled by @eleanorjboyd in #22653
  • Add permissions to triage-info-needed.yml by @karthiknadig in #22663
  • Remove debugger by @paulacamargo25 in #22502
  • Set debug as deprecated by @paulacamargo25 in #22738

Create a Python source code file

From the File Explorer toolbar, select the New File button on the



Name the file

, and VS Code will automatically open it in the editor:

By using the


file extension, you tell VS Code to interpret this file as a Python program, so that it evaluates the contents with the Python extension and the selected interpreter.

Note: The File Explorer toolbar also allows you to create folders within your workspace to better organize your code. You can use the New folder button to quickly create a folder.

Now that you have a code file in your Workspace, enter the following source code in


msg = "Roll a dice" print(msg)

When you start typing

IntelliSense and auto-completions work for standard Python modules as well as other packages you’ve installed into the environment of the selected Python interpreter. It also provides completions for methods available on object types. For example, because the


variable contains a string, IntelliSense provides string methods when you type



Finally, save the file (⌘S (Windows, Linux Ctrl+S)). At this point, you’re ready to run your first Python file in VS Code.

For full details on editing, formatting, and refactoring, see Editing code. The Python extension also has full support for Linting.

Create a virtual environment

A best practice among Python developers is to use a project-specific

virtual environment

. Once you activate that environment, any packages you then install are isolated from other environments, including the global interpreter environment, reducing many complications that can arise from conflicting package versions. You can create non-global environments in VS Code using Venv or Anaconda with Python: Create Environment.

Open the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)), start typing the Python: Create Environment command to search, and then select the command.

The command presents a list of environment types, Venv or Conda. For this example, select Venv.

The command then presents a list of interpreters that can be used for your project. Select the interpreter you installed at the beginning of the tutorial.

After selecting the interpreter, a notification will show the progress of the environment creation and the environment folder (


) will appear in your workspace.

Ensure your new environment is selected by using the Python: Select Interpreter command from the Command Palette.

Note: For additional information about virtual environments, or if you run into an error in the environment creation process, see Environments.

My Minimal VS Code Setup for Python - 5 Visual Studio Code Extensions
My Minimal VS Code Setup for Python – 5 Visual Studio Code Extensions

Next steps

  • Python Hello World tutorial – Get started with Python in VS Code.
  • Editing Python – Learn about auto-completion, formatting, and refactoring for Python.
  • Basic Editing – Learn about the powerful VS Code editor.
  • Code Navigation – Move quickly through your source code.
  • Django tutorial
  • Flask tutorial

Install and configure Visual Studio Code for Python development

Install and configure Visual Studio Code to create a development environment for learning to build Python applications.

Bug Fixes

  • Do not run commands to check whether shell integration is working by @karrtikr in #22850

  • Improve time taken to trigger language server startup once extension activation is triggered by @karrtikr in #22514

  • Fix venv activation for cshell #22852

Full Changelog: v2024.0.0…v2024.0.1

Top 10 Extend phải cài khi lập trình Python trên Visual Studio Code
Top 10 Extend phải cài khi lập trình Python trên Visual Studio Code

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: >=3.7), including features such as IntelliSense (Pylance), linting, debugging (Python Debugger), code navigation, code formatting, refactoring, variable explorer, test explorer, and more!

The Python extension does offer some support when running on (which includes This includes partial IntelliSense for open files in the editor.

Start VS Code in a workspace folder

By starting VS Code in a folder, that folder becomes your “workspace”.

Using a command prompt or terminal, create an empty folder called “hello”, navigate into it, and open VS Code (


) in that folder () by entering the following commands:

mkdir hello cd hello code .

Note: If you’re using an Anaconda distribution, be sure to use an Anaconda command prompt.

Alternately, you can create a folder through the operating system UI, then use VS Code’s File > Open Folder to open the project folder.

Python and Visual Studio Code Installation
Python and Visual Studio Code Installation


No more

For more specific information on debugging in Python, such as configuring your


settings and implementing remote debugging, see Debugging. General VS Code debugging information is found in the debugging document.

Additionally, the Django and Flask tutorials provide examples of how to implement debugging in the context of web applications, including debugging Django templates.

Autocomplete and IntelliSense

The Python extension supports code completion and IntelliSense using the currently selected interpreter. IntelliSense is a general term for a number of features, including intelligent code completion (in-context method and variable suggestions) across all your files and for built-in and third-party modules.

IntelliSense quickly shows methods, class members, and documentation as you type. You can also trigger completions at any time with ⌃Space (Windows, Linux Ctrl+Space). Hovering over identifiers will show more information about them.

How to install Python Libraries in Visual Studio Code
How to install Python Libraries in Visual Studio Code

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 start a new discussion
  • If you’re interested in the development of the extension, you can read about our development process

Features of the template

After creating your extension via the template, it will include the following extension contributions. Assume was replaced with


, and with

My Tool


  1. A command My Tool: Restart Server (command ID:


  2. Following settings:

    • mytool.logLevel

    • mytool.args

    • mytool.path

    • mytool.importStrategy

    • mytool.interpreter

    • mytool.showNotification
  3. Following triggers for extension activation:

    • On Language


    • On File with


      extension found in the opened workspace.
    • On Command


  4. On Language
  5. Output channel for logging Output > My Tool.
Top 7 Best Extensions In VSCode For Python Programming That I Use For Data Science Projects
Top 7 Best Extensions In VSCode For Python Programming That I Use For Data Science Projects
Python - Visual Studio Marketplace
Python – Visual Studio Marketplace
Vscode Python Extensions • Python Land Tutorial
Vscode Python Extensions • Python Land Tutorial
Setting Up Vscode For Python: A Complete Guide | Datacamp
Setting Up Vscode For Python: A Complete Guide | Datacamp
Setting Up Vscode For Python: A Complete Guide | Datacamp
Setting Up Vscode For Python: A Complete Guide | Datacamp
Using Python In Vs Code And Codium | Opensource.Com
Using Python In Vs Code And Codium | Opensource.Com
Python In Visual Studio Code – July 2022 Release - Python
Python In Visual Studio Code – July 2022 Release – Python
How To Set Up Visual Studio Code In 2023 (The Easy Way)
How To Set Up Visual Studio Code In 2023 (The Easy Way)
Python Development In Visual Studio Code – Real Python
Python Development In Visual Studio Code – Real Python
Visual Studio Python Ide - Python Development Tools For Windows
Visual Studio Python Ide – Python Development Tools For Windows
Install Visual Studio Code Extensions
Install Visual Studio Code Extensions
Python In Visual Studio Code – May 2022 Release - Python
Python In Visual Studio Code – May 2022 Release – Python
Top 10 Vs Code Extensions For Python - Geeksforgeeks
Top 10 Vs Code Extensions For Python – Geeksforgeeks
Setting Up Vscode For Python: A Complete Guide | Datacamp
Setting Up Vscode For Python: A Complete Guide | Datacamp
Welcome To Python For Visual Studio Code | Python In Visual Studio Code
Welcome To Python For Visual Studio Code | Python In Visual Studio Code
How To Install Vscode Ide On Windows | Visual Studio Code – Data Science  Duniya
How To Install Vscode Ide On Windows | Visual Studio Code – Data Science Duniya
Python - Visual Studio Marketplace
Python – Visual Studio Marketplace
Setting Up Vscode For Python: A Complete Guide | Datacamp
Setting Up Vscode For Python: A Complete Guide | Datacamp
Vs Code For Python - A Complete Guide To Install And Setup Vs Code -  Askpython
Vs Code For Python – A Complete Guide To Install And Setup Vs Code – Askpython

See more here:

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *