-
Notifications
You must be signed in to change notification settings - Fork 336
Title: [BUG] Insane Path Priority & Hardcoded C: Drive After Countless User Configurations – Version 2.x is a Nightmare for Manual Installations #1795
Description
OS
Windows
Operating System version
windows11
Visual Studio Code version
1.111.0
ESP-IDF version
5.5.3,ESP-IDF Extension version 2.0.2
Python version
313
Doctor command output
---------------------------------------------- ESP-IDF Extension for Visual Studio Code report ---------------------------------------------
OS win32 x64 10.0.26200
System environment variable IDF_PYTHON_ENV_PATH
D:\Espressif\tools\python\v5.5.3\venv
System environment variable PATH
D:\programs\Microsoft VS Code;C:\AppData\Local\Programs\Python\Python313\Scripts;C:\AppData\Local\Programs\Python\Python313;D:\esp\v5.5.3\esp-idf\tools;D:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\bin;D:\Espressif\tools\ninja\1.12.1;D:\VMware\VMware Workstation\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\AppData\Local\Programs\Python\Python36;C:\AppData\Local\Programs\Python\Python36\DLLs;C:\AppData\Local\Programs\Python\Python36\lib;C:\AppData\Local\Programs\Python\Python38;C:\AppData\Local\Programs\Python\Python38\DLLs;C:\AppData\Local\Programs\Python\Python38\lib;C:\AppData\Local\Programs\Python\Python39;C:\AppData\Local\Programs\Python;C:\anaconda3;C:\Program Files\dotnet;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\MinGW\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit;C:\Program Files\Git\cmd;D:\BAM;D:\BAM\util;C:\Program Files\Docker\Docker\resources\bin;D:\programs\Topaz Labs LLC\Topaz Gigapixel AI\bin;D:\php;C:\AppData\Local\Programs\Python\Python313;C:\AppData\Local\Programs\Python\Python313\Scripts;C:\AppData\Local\Programs\Python\Python313\Scripts;C:\AppData\Local\Programs\Python\Python313;C:\scoop\apps\git\current\bin;C:\scoop\shims;C:\AppData\Local\Programs\Python\Python36\Scripts;C:\AppData\Local\Programs\Python\Python36;C:\AppData\Local\Programs\Python\Python38\Scripts;C:\AppData\Local\Programs\Python\Python38;C:\AppData\Local\Programs\Python\Python39\Scripts;C:\AppData\Local\Programs\Python\Python39;C:\AppData\Local\Microsoft\WindowsApps;C:\Program Files\JetBrains\PyCharm Community Edition 2020.3.2\bin;;D:\BAM;D:\BAM\util;;D:\DevEco Studio\bin;;D:\programs\Microsoft VS Code\bin
System environment variable PYTHON
undefined
Visual Studio Code Remote name undefined
Visual Studio Code version 1.111.0
Visual Studio Code language en
Visual Studio Code shell C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe
Visual Studio Code app name Visual Studio Code
ESP-IDF Extension version 2.0.2
Workspace folder c:\Desktop\myBubbles\sample1\camera_dvp1\camera_dvp1
---------------------------------------------------- Extension configuration settings ------------------------------------------------------
ESP-ADF Path (idf.customExtraVars["ADF_PATH"]) undefined
ESP-IDF Path (Project setup IDF_PATH) D:/esp/v5.5.3/esp-idf
Custom extra paths C:\Espressif\tools\ccache\4.12.1\ccache-4.12.1-windows-x86_64;C:\Espressif\tools\cmake\3.30.2\bin;C:\Espressif\tools\dfu-util\0.11\dfu-util-0.11-win64;C:\Espressif\tools\esp-clang\esp-19.1.2_20250312\esp-clang\bin;C:\Espressif\tools\esp-rom-elfs\20241011;C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\bin;C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\esp32ulp-elf\bin;C:\Espressif\tools\idf-exe\1.0.3;C:\Espressif\tools\ninja\1.12.1;C:\Espressif\tools\openocd-esp32\v0.12.0-esp32-20251215\openocd-esp32\bin;C:\Espressif\tools\qemu-xtensa\esp_develop_9.2.2_20250817\qemu\bin;C:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\riscv32-esp-elf\bin;C:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\riscv32-esp-elf\riscv32-esp-elf\bin;C:\Espressif\tools\xtensa-esp-elf-gdb\16.3_20250913\xtensa-esp-elf-gdb\bin;C:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\bin;C:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\xtensa-esp-elf\bin;C:\Espressif\tools\python\v5.5.3\venv\Scripts
ESP-IDF Project Setup Variables
PATH: C:\Espressif\tools\ccache\4.12.1\ccache-4.12.1-windows-x86_64;C:\Espressif\tools\cmake\3.30.2\bin;C:\Espressif\tools\dfu-util\0.11\dfu-util-0.11-win64;C:\Espressif\tools\esp-clang\esp-19.1.2_20250312\esp-clang\bin;C:\Espressif\tools\esp-rom-elfs\20241011;C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\bin;C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\esp32ulp-elf\bin;C:\Espressif\tools\idf-exe\1.0.3;C:\Espressif\tools\ninja\1.12.1;C:\Espressif\tools\openocd-esp32\v0.12.0-esp32-20251215\openocd-esp32\bin;C:\Espressif\tools\qemu-xtensa\esp_develop_9.2.2_20250817\qemu\bin;C:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\riscv32-esp-elf\bin;C:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\riscv32-esp-elf\riscv32-esp-elf\bin;C:\Espressif\tools\xtensa-esp-elf-gdb\16.3_20250913\xtensa-esp-elf-gdb\bin;C:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\bin;C:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\xtensa-esp-elf\bin;C:\Espressif\tools\python\v5.5.3\venv\Scripts
ESP_IDF_VERSION: 5.5
SYSTEM_PATH: D:\programs\Microsoft VS Code;C:\AppData\Local\Programs\Python\Python313\Scripts;C:\AppData\Local\Programs\Python\Python313;D:\VMware\VMware Workstation\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\AppData\Local\Programs\Python\Python36;C:\AppData\Local\Programs\Python\Python36\DLLs;C:\AppData\Local\Programs\Python\Python36\lib;C:\AppData\Local\Programs\Python\Python38;C:\AppData\Local\Programs\Python\Python38\DLLs;C:\AppData\Local\Programs\Python\Python38\lib;C:\AppData\Local\Programs\Python\Python39;C:\AppData\Local\Programs\Python;C:\anaconda3;C:\Program Files\dotnet;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\MinGW\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit;C:\Program Files\Git\cmd;D:\BAM;D:\BAM\util;C:\Program Files\Docker\Docker\resources\bin;D:\programs\Topaz Labs LLC\Topaz Gigapixel AI\bin;D:\php;C:\AppData\Local\Programs\Python\Python313;C:\AppData\Local\Programs\Python\Python313\Scripts;C:\AppData\Local\Programs\Python\Python313\Scripts;C:\AppData\Local\Programs\Python\Python313;C:\scoop\apps\git\current\bin;C:\scoop\shims;C:\AppData\Local\Programs\Python\Python36\Scripts;C:\AppData\Local\Programs\Python\Python36;C:\AppData\Local\Programs\Python\Python38\Scripts;C:\AppData\Local\Programs\Python\Python38;C:\AppData\Local\Programs\Python\Python39\Scripts;C:\AppData\Local\Programs\Python\Python39;C:\AppData\Local\Microsoft\WindowsApps;C:\Program Files\JetBrains\PyCharm Community Edition 2020.3.2\bin;;D:\BAM;D:\BAM\util;;D:\DevEco Studio\bin;;D:\programs\Microsoft VS Code\bin;D:\esp\v5.5.3\esp-idf;C:\Espressif\tools
IDF_TOOLS_PATH: C:\Espressif\tools
IDF_PATH: D:\esp\v5.5.3\esp-idf
OPENOCD_SCRIPTS: C:\Espressif\tools\openocd-esp32\v0.12.0-esp32-20251215\openocd-esp32\share\openocd\scripts
ESP_ROM_ELF_DIR: C:\Espressif\tools\esp-rom-elfs\20241011
IDF_PYTHON_ENV_PATH: C:\Espressif\tools\python\v5.5.3\venv
PYTHON: C:\Espressif\tools\python\v5.5.3\venv\Scripts\python.exe
User extra vars (idf.customExtraVars)
IDF_PATH: D:/esp/v5.5.3/esp-idf
IDF_TOOLS_PATH: D:/Espressif/tools
OPENOCD_SCRIPTS: D:/Espressif/tools/openocd-esp32/v0.12.0-esp32-20251215/openocd-esp32/share/openocd/scripts
ESP_ROM_ELF_DIR: D:/Espressif/tools/esp-rom-elfs/20241011
IDF_PYTHON_ENV_PATH: D:/Espressif/tools/python/v5.5.3/venv
idf.customExtraPaths: D:/Espressif/tools/ccache/4.12.1/ccache-4.12.1-windows-x86_64;D:/Espressif/tools/cmake/3.30.2/bin;D:/Espressif/tools/dfu-util/0.11/dfu-util-0.11-win64;D:/Espressif/tools/esp-clang/esp-19.1.2_20250312/esp-clang/bin;D:/Espressif/tools/esp-rom-elfs/20241011;D:/Espressif/tools/esp32ulp-elf/2.38_20240113/esp32ulp-elf/bin;D:/Espressif/tools/esp32ulp-elf/2.38_20240113/esp32ulp-elf/esp32ulp-elf/bin;D:/Espressif/tools/idf-exe/1.0.3;D:/Espressif/tools/ninja/1.12.1;D:/Espressif/tools/openocd-esp32/v0.12.0-esp32-20251215/openocd-esp32/bin;D:/Espressif/tools/qemu-xtensa/esp_develop_9.2.2_20250817/qemu/bin;D:/Espressif/tools/riscv32-esp-elf/esp-14.2.0_20251107/riscv32-esp-elf/bin;D:/Espressif/tools/riscv32-esp-elf/esp-14.2.0_20251107/riscv32-esp-elf/riscv32-esp-elf/bin;D:/Espressif/tools/xtensa-esp-elf-gdb/16.3_20250913/xtensa-esp-elf-gdb/bin;D:/Espressif/tools/xtensa-esp-elf/esp-14.2.0_20251107/xtensa-esp-elf/bin;D:/Espressif/tools/xtensa-esp-elf/esp-14.2.0_20251107/xtensa-esp-elf/xtensa-esp-elf/bin;D:/Espressif/tools/python/v5.5.3/venv/Scripts
idf.espIdfPath: D:/esp/v5.5.3/esp-idf
idf.toolsPath: D:/Espressif/tools
idf.pythonBinPath: D:/Espressif/tools/python/v5.5.3/venv/Scripts/python.exe
Virtual environment Python path (computed) C:\Espressif\tools\python\v5.5.3\venv\Scripts\python.exe
Serial port (idf.port) detect
OpenOCD Configs (idf.openOcdConfigs) interface/ftdi/esp32_devkitj_v1.cfg,board/esp32-wrover.cfg
OpenOCD log level (idf.openOcdDebugLevel) 2
OpenOCD launch arguments (idf.openOcdLaunchArgs)
ESP-IDF Tools Path D:/Espressif/tools
Git Path (idf.gitPath) C:\Program Files\Git\cmd\git.exe
Notification Mode (idf.notificationMode) All
Flash type (idf.flashType)
Flash partition to use (idf.flashPartitionToUse) all
-------------------------------------------------------- Configurations access -------------------------------------------------------------
Access to ESP-ADF Path (idf.customExtraVars["ADF_PATH"]) false
Access to ESP-IDF Path (Project setup IDF_PATH) true
Access to ESP-IDF Custom extra paths
Access to C:\Espressif\tools\ccache\4.12.1\ccache-4.12.1-windows-x86_64: false
Access to C:\Espressif\tools\cmake\3.30.2\bin: false
Access to C:\Espressif\tools\dfu-util\0.11\dfu-util-0.11-win64: false
Access to C:\Espressif\tools\esp-clang\esp-19.1.2_20250312\esp-clang\bin: false
Access to C:\Espressif\tools\esp-rom-elfs\20241011: false
Access to C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\bin: false
Access to C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\esp32ulp-elf\bin: false
Access to C:\Espressif\tools\idf-exe\1.0.3: false
Access to C:\Espressif\tools\ninja\1.12.1: false
Access to C:\Espressif\tools\openocd-esp32\v0.12.0-esp32-20251215\openocd-esp32\bin: false
Access to C:\Espressif\tools\qemu-xtensa\esp_develop_9.2.2_20250817\qemu\bin: false
Access to C:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\riscv32-esp-elf\bin: false
Access to C:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\riscv32-esp-elf\riscv32-esp-elf\bin: false
Access to C:\Espressif\tools\xtensa-esp-elf-gdb\16.3_20250913\xtensa-esp-elf-gdb\bin: false
Access to C:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\bin: false
Access to C:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\xtensa-esp-elf\bin: false
Access to C:\Espressif\tools\python\v5.5.3\venv\Scripts: false
Access to Virtual environment Python path (computed) false
Access to CMake in environment PATH undefined
Access to Ninja in environment PATH undefined
Access to ESP-IDF Tools Path true
-------------------------------------------------------- Configurations has spaces -------------------------------------------------------------
Spaces in system environment Path true
Spaces in ESP-ADF Path (idf.customExtraVars["ADF_PATH"]) false
Spaces in ESP-IDF Path (Project setup IDF_PATH) false
Spaces in ESP-IDF Custom extra paths
Spaces in C:\Espressif\tools\ccache\4.12.1\ccache-4.12.1-windows-x86_64: false
Spaces in C:\Espressif\tools\cmake\3.30.2\bin: false
Spaces in C:\Espressif\tools\dfu-util\0.11\dfu-util-0.11-win64: false
Spaces in C:\Espressif\tools\esp-clang\esp-19.1.2_20250312\esp-clang\bin: false
Spaces in C:\Espressif\tools\esp-rom-elfs\20241011: false
Spaces in C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\bin: false
Spaces in C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\esp32ulp-elf\bin: false
Spaces in C:\Espressif\tools\idf-exe\1.0.3: false
Spaces in C:\Espressif\tools\ninja\1.12.1: false
Spaces in C:\Espressif\tools\openocd-esp32\v0.12.0-esp32-20251215\openocd-esp32\bin: false
Spaces in C:\Espressif\tools\qemu-xtensa\esp_develop_9.2.2_20250817\qemu\bin: false
Spaces in C:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\riscv32-esp-elf\bin: false
Spaces in C:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\riscv32-esp-elf\riscv32-esp-elf\bin: false
Spaces in C:\Espressif\tools\xtensa-esp-elf-gdb\16.3_20250913\xtensa-esp-elf-gdb\bin: false
Spaces in C:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\bin: false
Spaces in C:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\xtensa-esp-elf\bin: false
Spaces in C:\Espressif\tools\python\v5.5.3\venv\Scripts: false
Spaces in Virtual environment Python path (computed) false
Spaces in ESP-IDF Tools Path false
----------------------------------------------------------- Executables Versions -----------------------------------------------------------
Git version 2.44.0.windows.1
ESP-IDF version 5.5.3
Python version Not found
Python's pip version Not found
-------------------------------------------------- Project configuration settings ----------------------------------------------------------
-------------------------------------------------- Python packages in Virtual environment Python path (computed) ---------------------------
---------------------------------------------------- Check ESP-IDF python requirements.txt -------------------------------------------------
Check ESP-IDF Python packages undefined
---------------------------------------------------- ESP-IDF Setups ------------------------------------------------------------------------
----------------------------------------------------------- Latest error -----------------------------------------------------------------
{
"errno": -4058,
"code": "ENOENT",
"syscall": "spawn C:\Espressif\tools\python\v5.5.3\venv\Scripts\python.exe",
"path": "C:\Espressif\tools\python\v5.5.3\venv\Scripts\python.exe",
"spawnargs": [
"-m",
"pip",
"list",
"--format",
"json"
],
"cmd": "C:\Espressif\tools\python\v5.5.3\venv\Scripts\python.exe -m pip list --format json"
Extension
No response
Description
I am writing this after spending over a week fighting with the ESP-IDF extension (v2.0.2). I have to say, this has been one of the most frustrating configuration experiences I've ever had.
The Problem:
No matter what I do, the extension refuses to respect the user's configuration. Despite the following all being set to the correct D: drive:
✅ System Environment Variables (IDF_PATH, IDF_TOOLS_PATH)
✅ User Settings (settings.json)
✅ Project .vscode/settings.json (with customExtraVars and customExtraPaths)
✅ Registry (no C: entries found)
✅ EIM Databases (all cleared)
The extension's doctor command still shows C:\Espressif\tools in Custom extra paths and the build tasks still try to execute C:\Espressif\tools\python...\python.exe, which obviously fails because my installation is on D:.
My Core Complaints:
Broken Configuration Priority: It seems the extension has a hardcoded fallback path (C:/Espressif/tools) that has a higher priority than all user-defined settings. This is unacceptable. If you remove manual configuration options like idf.espIdfPath, you must ensure the extension doesn't secretly rely on old, hardcoded defaults.
Forced EIM Dependency: Forcing users to go through EIM, while simultaneously having EIM ignore user-defined paths (like idf_path in config files) and failing with 404 errors, creates an impossible loop for users behind firewalls or those who prefer manual installations.
"The documentation is confusing, but the real problem is deeper. I traced the issue and found that the extension seems to have a hardcoded fallback to C:/Espressif/tools that overrides all user configurations. Even after deleting every cache file I could find (report.json, EIM databases), the path persists. This forces users like me, who installed everything manually on D:, to either downgrade or fight the extension endlessly."
The Result:
After manually cloning the repo and installing all tools with install.bat, a task that should take 30 minutes has cost me an entire week. The only "solution" left is to downgrade to the 1.x extension, which at least respects what I tell it to do.
Please, for the sake of your users' sanity, fix this path priority logic in the 2.x extension. A developer's time is better spent on code, not on hunting down hardcoded paths.
Debug Message
PATH=C:\Espressif\tools\ccache\4.12.1\ccache-4.12.1-windows-x86_64;C:\Espressif\tools\cmake\3.30.2\bin;C:\Espressif\tools\dfu-util\0.11\dfu-util-0.11-win64;C:\Espressif\tools\esp-clang\esp-19.1.2_20250312\esp-clang\bin;C:\Espressif\tools\esp-rom-elfs\20241011;C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\bin;C:\Espressif\tools\esp32ulp-elf\2.38_20240113\esp32ulp-elf\esp32ulp-elf\bin;C:\Espressif\tools\idf-exe\1.0.3;C:\Espressif\tools\ninja\1.12.1;C:\Espressif\tools\openocd-esp32\v0.12.0-esp32-20251215\openocd-esp32\bin;C:\Espressif\tools\qemu-xtensa\esp_develop_9.2.2_20250817\qemu\bin;C:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\riscv32-esp-elf\bin;C:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\riscv32-esp-elf\riscv32-esp-elf\bin;C:\Espressif\tools\xtensa-esp-elf-gdb\16.3_20250913\xtensa-esp-elf-gdb\bin;C:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\bin;C:\Espressif\tools\xtensa-esp-elf\esp-14.2.0_20251107\xtensa-esp-elf\xtensa-esp-elf\bin;C:\Espressif\tools\python\v5.5.3\venv\Scripts
ESP_IDF_VERSION=5.5
SYSTEM_PATH=D:\programs\Microsoft VS Code;C:\Users\86139\AppData\Local\Programs\Python\Python313\Scripts;
IDF_TOOLS_PATH=C:\Espressif\tools
IDF_PATH=D:\esp\v5.5.3\esp-idf
OPENOCD_SCRIPTS=C:\Espressif\tools\openocd-esp32\v0.12.0-esp32-20251215\openocd-esp32\share\openocd\scripts
ESP_ROM_ELF_DIR=C:\Espressif\tools\esp-rom-elfs\20241011
IDF_PYTHON_ENV_PATH=C:\Espressif\tools\python\v5.5.3\venv
And YES, I have already set ALL the environment variables, both system and user. It’s not a user error — it’s YOUR extension ignoring them.
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.