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.

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+P
→ Python: 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.
