My Ultimate VS Code Setup for Python Development (2025 Edition)

These are the extensions, themes, settings, and workflows that made my Python development 2x faster in 2025.

My Ultimate VS Code Setup for Python Development (2025 Edition)
Photo by Fotis Fotopoulos on Unsplash

I used to think a Python IDE didn’t matter — until I optimized VS Code and everything changed.

My Ultimate VS Code Setup for Python Development (2025 Edition)

I’ve been a Python developer for years now, and if there’s one tool that’s consistently evolved with me, it’s Visual Studio Code.

Fast, lightweight, endlessly customizable, and packed with powerful extensions — VS Code is the editor I return to, project after project.

In this post, I’m walking you through my ultimate VS Code setup for Python development in 2025.

Whether you’re just starting out or you’re a seasoned Pythonista looking to upgrade your workflow, this guide will help you get the most out of your editor.


1. Must-Have Extensions for Python

Extensions are the soul of VS Code. These are the essentials I install immediately on any new machine:

- Python (by Microsoft)

Syntax highlighting, IntelliSense, linting, and debugging — it’s the backbone.

It auto-detects your virtual environments and works great with Jupyter notebooks now.

- Pylance

Lightning-fast IntelliSense, type checking, and docstring rendering.

Built on Pyright, it offers rich type inference and detects bugs early.

- Black Formatter

Enforces a consistent code style. I never argue about formatting in code reviews anymore.

Add "editor.formatOnSave": true to your settings and let Black do the magic.

- isort

Automatically sorts your imports in a clean and logical way.

Combined with Black: It prevents unnecessary merge conflicts and makes diffs cleaner.

- Ruff (NEW in 2025!)

Blazing-fast linter written in Rust that replaces flake8, pylint, and even parts of Black and isort.

Add a .ruff.toml config for precise control.

2. My Settings for Peak Productivity

Here’s a peek into my settings.json that powers my workflow:

{ 
  "python.formatting.provider": "black", 
  "editor.formatOnSave": true, 
  "editor.codeActionsOnSave": { 
    "source.organizeImports": true 
  }, 
  "python.linting.enabled": true, 
  "python.linting.ruffEnabled": true, 
  "python.defaultInterpreterPath": ".venv/bin/python", 
  "files.exclude": { 
    "**/__pycache__": true, 
    "**/.pytest_cache": true, 
    "**/.mypy_cache": true 
  }, 
  "terminal.integrated.defaultProfile.linux": "zsh" 
}

I’ve tailored this for:

  • Clean code every time I save.
  • Quiet clutter by hiding Python cache files.
  • Default interpreter pointing to my .venv.

3. Testing Made Effortless

I use pytest for all my projects. Here’s how I make it seamless inside VS Code:

  • Install pytest in your virtual environment.
  • In settings.json, add:
"python.testing.pytestEnabled": true, 
"python.testing.unittestEnabled": false, 
"python.testing.autoTestDiscoverOnSaveEnabled": true

Then just hit Ctrl+Shift+PPython: Discover Tests and you’re set. You can run tests inline, view failures in the Test Explorer, and even debug them in-place.

4. Intelligent Debugging

VS Code’s debugger is elite. Here’s how I supercharge it:

  • Breakpoints: I use conditional breakpoints for debugging complex loops.
  • Launch Configs:
{ 
  "name": "Python: Main", 
  "type": "python", 
  "request": "launch", 
  "program": "${file}", 
  "console": "integratedTerminal" 
}
  • Watch variables, inspect call stacks, and step into code like a pro.

Add a "justMyCode": false flag to peek inside library code when needed.

5. Virtual Environments and Dependency Management

In 2025, I use Poetry to manage Python projects. It keeps dependencies clean and reproducible. My process:

poetry init 
poetry add requests fastapi 
poetry shell

Then in VS Code:

  • Select the Poetry environment using Ctrl+Shift+P → Python: Select Interpreter
  • VS Code will automatically detect and use it for linting, IntelliSense, and debugging.

6. Jupyter Notebooks Support

If you’re doing data science or quick prototyping, the built-in Jupyter extension is a gem.

  • Run cells with Shift+Enter
  • Use variable explorer to inspect state
  • Export as .py or .ipynb

And yes, you can now debug notebook cells just like regular code — huge productivity win in 2025.

7. My Visual Theme & UI Tweaks

Coding should be a joy to the eyes. My personal favorites:

  • Theme: GitHub Dark Default or Night Owl
  • Font: JetBrains Mono with ligatures
  • Icon Pack: Material Icon Theme
  • Zen Mode: View → Appearance → Zen Mode for distraction-free coding.

Bonus setting:

"editor.fontLigatures": true, 
"workbench.colorTheme": "GitHub Dark Default"

Final Thoughts

VS Code is more than an editor — it’s my Python development cockpit. With the right extensions, configurations, and tweaks, you can make it feel like a fully-featured IDE… minus the bloat.

Whether you’re building APIs, automating tasks, or training ML models — your tools should work for you, not against you.

What’s in your Python VS Code setup in 2025? I’d love to hear what plugins or tricks you’re using — drop a comment below


Liked this setup? Share it with a fellow Python dev or bookmark it for your next VS Code reinstall.

Photo by AltumCode on Unsplash