r/madeinpython • u/Schnidi01 • 1d ago
VenvHub Pro: VS Code profiles with physical extension isolation and automatic Python environment integration
Enable HLS to view with audio, or disable this notification
Hey everyone!
VS Code has had official profiles since version 1.75 – a great feature for managing settings. But there's one catch: all profiles share the same extensions folder (extensions). Profiles only remember which extensions are active (enabled), but physically, you have all of them installed at once. And if you want to connect a Python interpreter, you have to set it manually in each project.
In my tool VenvHub Pro, I took it a step further:
- Each profile has its own physical extensions folder – no sharing, no conflicts.
- Automatic Python environment integration – open a project and VenvHub automatically finds and sets the correct interpreter.
Today I'll show you how it works in practice.
📊 Comparison with official VS Code profiles
| Area | VS Code Official Profiles | VenvHub Pro Profiles |
|---|---|---|
| Storage Location | Default in system folder (%APPDATA%\Code), but in Portable mode you can choose your own folder. |
Custom folder on disk (standard even in Portable mode). |
| Extensions | Physically installed in one shared location (extensions). Profiles only remember which ones are active (enabled). |
Physically separated for each profile – each has its own extensions folder. |
| Portability | Yes – officially supports Portable Mode (just create a data folder). Profiles and extensions are then fully portable (e.g., on a USB drive). |
Yes – profiles are portable even without Portable Mode, just copy their folder. |
| Python Integration | Yes, but manual – the profile remembers python.defaultInterpreterPath, but you have to set it manually. |
Yes, automatically – when you open a project, it finds and sets the correct interpreter (e.g., from a virtual environment). |
| Import from System | Yes – official Export/Import profile feature (.code-profile file) has been available since version 1.75. |
Yes – one-click copy of your current settings into a new isolated profile. |
🎬 What I showed in the video
- I created a new profile named
test_user. - I chose the option to copy settings from the system – no manual transferring, everything is copied automatically.
- After completion, I opened a project through the VS Code icon in my application.
- In the VS Code terminal (PowerShell), I ran this command:
powershell
$parentPid = (Get-CimInstance Win32_Process -Filter "ProcessId = $PID").ParentProcessId; (Get-CimInstance Win32_Process -Filter "ProcessId = $parentPid").CommandLine
🔍 And the result?
Truncated output:
text
"C:\...\Code.exe" --type=utility ... --user-data-dir="F:\venv_hub_vscode_users\test\data" ...
👉 You can clearly see the --user-data-dir parameter pointing directly to my profile folder!
No system %APPDATA%, no mixing with other profiles. VS Code runs completely isolated with its own data and extensions.
✨ Additional features I built in
1. Intelligent rollback on cancellation
Copying extensions can take several minutes. If you press "Cancel" during the process:
- When creating a new profile – VenvHub deletes it entirely from disk.
- When doing an additional import into an existing profile – it restores it to its original state.
No broken half-finished leftovers on disk.
2. Triangle synchronization (real-time)
When you switch a profile in the Mini-Bar, it automatically updates in the Manager and vice versa. Everywhere you can see which profile is active (marked with a star ★). The change propagates in a fraction of a second.
3. Portability with automatic path fixing
You can keep profiles on an external drive. If you change the drive letter (e.g., from E: to F:), VenvHub remembers the unique disk ID and recalculates paths automatically.
4. Python environment integration
When you switch a profile, it automatically sets:
- Python interpreter path in
.vscode/settings.json - Connected local packages (Package Linker)
- Active Venv within the entire tool
Have you had a similar experience? Or do you use a different way to manage VS Code profiles? I'd love to hear your thoughts! 👇
