🌐
Visual Studio Code
code.visualstudio.com › docs › languages › python
Python in Visual Studio Code
November 3, 2021 - 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.
🌐
Visual Studio Marketplace
marketplace.visualstudio.com › items
Python - Visual Studio Marketplace
March 27, 2026 - Extension for Visual Studio Code - Python language support with extension access points for IntelliSense (Pylance), Debugging (Python Debugger), linting, formatting, refactoring, unit tests, and more.
Discussions

VS Code Extensions for Python
Sure. Python-specific extensions: Jupyter - for working with Jupyter notebooks (if needed) Mypy - type checking Pylance - alternative tool for type checking Ruff - the best and only linter you'll need Generic extensions: CodeSnap - useful for sharing code in image form, primarily for social media. Basically https://carbon.now.sh but as an extension. Even Better TOML - for pyproject.toml files file-tree-generator - for sharing your directory structure but being too lazy to make one by hand Hex Editor - for the rare occasion you need to dig into binary files HexInspector - see numbers in other number bases on hover Live Preview - lets you render web pages within VS Code with auto-refresh Markdown All in One - because you'll generally see plenty of Markdown in projects Markdown Preview Enhanced Snyk Security - helps find common security issues WSL - Better WSL integration Theme-wise I'm also fond of Material Icon Theme, Monokai Charcoal High Contrast, and Doki-Theme, but those aren't exactly useful. More on reddit.com
🌐 r/learnpython
12
57
August 3, 2024
What are your favorite extensions for VSCODE that make coding in Python easier?
*cracks knuckles* autoDocstring - because I want future me to not be angry at present me Error Lens - because I'm blind Even Better TOML - because anyone who hasn't switched over to pyproject.toml format should Jupyter - because data science pylens - because I'd like to know what dependencies have updated Python Indent - because I value my sanity Ruff - nice performant linter + isort functionality View Image for Python Debugging - if your data science work sometimes strays away from Jupyter notebooks, you'll understand why More on reddit.com
🌐 r/learnpython
52
204
June 28, 2023
How To Make A VS Code Extension In Python - Stack Overflow
I Use Python As My Main Language, And I Want To Make A VS Code Extension, But I Cant Find Any Docs/Resources, Is Possible To Make One In Python? More on stackoverflow.com
🌐 stackoverflow.com
Confused about what extensions to use, new to Python
Python has different formatters and linters... For formatters there is autopep8 which as the name suggests makes code compliant with pep8 . Its main purpose is to address spacing disparities: import numpy as np x = np.array([0,1,2,3, 4]) y= 2 *x z = 1 import pandas as pd df= pd.DataFrame({'x':x, "y": y}) import matplotlib.pyplot as plt plt.plot(df['x'],df["y"]) import datetime time = datetime.datetime.now() print('hello world', sep='\t', end="\n\n") import collections counts = collections.Counter([1, 1,1, 2,2,3, 3,3,4]) Microsoft have an autopep8 extension. Pressing Ctrl, ⇧ and p to open the command palette and using the Format Document command or Format Document with command which allows selection of the default formatter. And the code formatted with autopep8 below: import collections import datetime import matplotlib.pyplot as plt import pandas as pd import numpy as np x = np.array([0, 1, 2, 3, 4]) y = 2 * x z = 1 df = pd.DataFrame({'x': x, "y": y}) plt.plot(df['x'], df["y"]) time = datetime.datetime.now() print('hello world', sep='\t', end="\n\n") counts = collections.Counter([1, 1, 1, 2, 2, 3, 3, 3, 4]) PEP8 is a bit vague on the sorting of imports: For imports Imports should be grouped in the following order: Standard library imports. Related third party imports. Local application/library specific imports. So the import organiser isort is a separate operation which separates these two groups out with a space and organises imports within these two groups alphabetically. Microsoft have an isort extension. Pressing Ctrl, ⇧ and p to open the command palette and using the Organize Imports command. import collections import datetime import matplotlib.pyplot as plt import numpy as np import pandas as pd x = np.array([0, 1, 2, 3, 4]) y = 2 * x z = 1 df = pd.DataFrame({'x': x, "y": y}) plt.plot(df['x'], df["y"]) time = datetime.datetime.now() print('hello world', sep='\t', end="\n\n") counts = collections.Counter([1, 1, 1, 2, 2, 3, 3, 3, 4]) PEP8 is a bit vague on the string style stating: In Python, single-quoted strings and double-quoted strings are the same. This PEP does not make a recommendation for this. Pick a rule and stick to it. When a string contains single or double quote characters, however, use the other one to avoid backslashes in the string. It improves readability. There are therefore opinionated formatters that attempt to make the string styles consistent as well as other changes. Microsoft have a black extension. Pressing Ctrl, ⇧ and p to open the command palette and using the Format Document command or Format Document with command which allows selection of the default formatter. import collections import datetime import matplotlib.pyplot as plt import numpy as np import pandas as pd x = np.array([0, 1, 2, 3, 4]) y = 2 * x z = 1 df = pd.DataFrame({"x": x, "y": y}) plt.plot(df["x"], df["y"]) time = datetime.datetime.now() print("hello world", sep="\t", end="\n\n") counts = collections.Counter([1, 1, 1, 2, 2, 3, 3, 3, 4]) Notice that all the str quotations are now consistently double quotations... In my VSCode black does not seem to work well unless the code has previously been formatted with autopep8 and isort. Unfortunately blacks formatting differs from the preference of the Python interpreter, the formal Python documentation and the way that the PEP8 document itself is written. For example inputting: "hello world!" 'The string is '\hello world!\'' Will display in the Python interpreter as: 'hello world!' "The string is 'hello world!'" Notice that single quotations are preferred unless the str includes a str literal. Triple quotes are preferred for docstrings as they often include str literals or could be later modified to have a str literal. This has led to some developers not really liking black... and wanting some options. The Rust Fast Formatter Ruff (VSCode has a third-party extension made by the developer) largely mimics the behaviour of black. However it is easy to make a ruff.toml file in the project folder and configure some of the options: [format] # Use single quotes for strings. quote-style = "single" The developer Astral Software has a ruff extension. Pressing Ctrl, ⇧ and p to open the command palette and using the Format Document with Ruff command or Format Notebook with Ruff command which allows selection of the default formatter. This gives the following which looks more similar to the style in PEP8. import collections import datetime import matplotlib.pyplot as plt import numpy as np import pandas as pd x = np.array([0, 1, 2, 3, 4]) y = 2 * x z = 1 df = pd.DataFrame({'x': x, 'y': y}) plt.plot(df['x'], df['y']) time = datetime.datetime.now() print('hello world', sep='\t', end='\n\n') counts = collections.Counter([1, 1, 1, 2, 2, 3, 3, 3, 4]) The pylint, pylance and pyflake8 linters all behave slightly differently and there is an extension for each of these from Microsoft. Installation of Ruff will also perform additional linting. While ruff is the fastest, all of these linters will pick up on slightly different things. pylint will for example pick up on some semantics that ruff won't but is much slower to load/process changes. For example in the code above it complains that the z is in lower case and recommends using uppercase to make it a constant, it complains about a missing module docstring and it complains about a missing end of line at the end of the script... Some of these things are minor, that personally I wouldn't change in the simple code above and essentially its a trade off between how much warnings you want and how through you want to be over simple semantics. More on reddit.com
🌐 r/learnpython
4
6
December 26, 2023
🌐
GitHub
github.com › yzhang-gh › vscode-python
GitHub - yzhang-gh/vscode-python: Python extension for Visual Studio Code · GitHub
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, ...
Author   yzhang-gh
🌐
Visual Studio Code
code.visualstudio.com › api › advanced-topics › python-extension-template
Authoring Python Extensions | Visual Studio Code Extension API
November 3, 2021 - 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.
🌐
DataSource.ai
datasource.ai › en › data-science-articles › top-10-python-extensions-for-visual-studio-code
Top 10 Python Extensions for Visual Studio Code
September 1, 2023 - Python Extended is a vscode snippet that makes it easy to write Python code by providing completion options along with all arguments. Usage Run vscode and in a python file, type the name of the method to complete and press tab or enter on selection.
🌐
GeeksforGeeks
geeksforgeeks.org › python › top-vs-code-extensions-for-python
Top 10 VS Code Extensions For Python [2025] - GeeksforGeeks
July 23, 2025 - It provides features like analyzing code for potential errors, code formatting, debugging through a debug console, testing with the unit test, pytest, and nose test frameworks. Syntax checking, auto-completion, auto-activation, and switching between different environments are also done by this extension. Moreover, it supports Jupyter Notebooks and therefore is considered as the very basic and important Python extension.
🌐
Visual Studio Code
code.visualstudio.com › docs › python › python-tutorial
Getting Started with Python in VS Code
November 3, 2021 - In this tutorial, you will learn ... environments, use packages, and more! By using the Python extension, you turn VS Code into a great, lightweight Python editor....
Find elsewhere
🌐
Towards The Cloud
towardsthecloud.com › blog › best-vscode-extensions-python
10 Best VS Code Extensions for Python Developers (2026) | Towards The Cloud
March 26, 2026 - The 10 best VS Code extensions for Python developers: Pylance, Python by Microsoft, Sourcery, and more. Tested and reviewed for code quality and productivity.
🌐
GitHub
github.com › microsoft › vscode-python › releases
Releases · microsoft/vscode-python
March 11, 2026 - Python extension for Visual Studio Code. Contribute to microsoft/vscode-python development by creating an account on GitHub.
Author   microsoft
🌐
Reddit
reddit.com › r/learnpython › what are your favorite extensions for vscode that make coding in python easier?
r/learnpython on Reddit: What are your favorite extensions for VSCODE that make coding in Python easier?
June 28, 2023 -

I just learned about autoDocstring last night and I'm blown away how nice this extension is. It makes creating docstrings so much easier and automated. Personally, I'm a fan of Google's style for docstrings so that's what I've set my default to when generating docstrings!

Another favorite extension of mine is this linter: Ruff. However, it is a bit buggy in that it duplicates functions at the bottom of the file, but other than that I love it!

Lastly, this is not an extension, but I love the Black library and auto-saving my .py files with this formatting provider in VSCODE.

I'm curious what this communities' favorite extensions are that make coding in Python easier or automated?

🌐
GitHub
github.com › microsoft › vscode-python
GitHub - microsoft/vscode-python: Python extension for Visual Studio Code · GitHub
A Visual Studio Code extension with rich support for the Python language (for all actively supported Python versions), providing access points for extensions to seamlessly integrate and offer support for IntelliSense (Pylance), debugging (Python ...
Starred by 4.6K users
Forked by 1.3K users
Languages   TypeScript 90.3% | Python 8.7% | JavaScript 0.8% | Jupyter Notebook 0.2% | Shell 0.0% | Dockerfile 0.0%
🌐
GitConnected
levelup.gitconnected.com › 12-vs-code-extensions-every-python-developer-should-be-using-a8f8ac05bf86
12 VS Code Extensions Every Python Developer Should Be Using | by Manalimran | Level Up Coding
August 28, 2025 - With the VS Code Black extension, my code formats automatically on save. The best part? It enforces a single consistent style. I no longer think about where to put spaces or line breaks Black decides for me.
🌐
Visual Studio Code
code.visualstudio.com › docs › configure › extensions › extension-marketplace
Extension Marketplace
November 3, 2021 - You can clear the Search box at the top of the Extensions view and type in the name of the extension, tool, or programming language you're looking for. For example, typing 'python' will bring up a list of Python language extensions:
🌐
Visual Studio Marketplace
marketplace.visualstudio.com › items
Python Extension Pack - Visual Studio Marketplace
Extension for Visual Studio Code - Popular Visual Studio Code extensions for Python
🌐
Donjayamanne
donjayamanne.github.io › pythonVSCode
Python in Visual Studio Code | Python for 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 IDE, and works on any operating system with a variety of Python interpreters.
🌐
Python Land
python.land › home › creating python programs › vscode python extensions
VSCode Python Extensions • Python Land Tutorial
September 5, 2025 - 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. 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.
🌐
GitHub
github.com › microsoft › vscode-python-environments
GitHub - microsoft/vscode-python-environments: VS Code extension for Python environment and package management · GitHub
VS Code extension for Python environment and package management - microsoft/vscode-python-environments
Starred by 118 users
Forked by 42 users
Languages   TypeScript 96.8% | Python 2.9% | JavaScript 0.3%
🌐
DEV Community
dev.to › bobbyiliev › 7-best-vs-code-extensions-for-python-developers-4e9d
7 Best VS Code Extensions for Python Developers - DEV Community
August 2, 2023 - GitLens is a powerful extension that provides Git integration right inside VS Code. It offers various features to enhance your workflow, such as: ... GitLens can be a game-changer for Python developers working on large projects or collaborating ...