From 91e25dac600dafbfd1d08b15d553990795c54b88 Mon Sep 17 00:00:00 2001 From: kwy404 Date: Fri, 25 Sep 2026 21:25:36 -0300 Subject: [PATCH] fix: expand ~ in python.venvFolders entries getPythonSettingAndUntildify only expanded string settings, so python.venvFolders entries such as ~/envs were sent to PET unchanged and those folders were never searched. Expand each array entry the same way python-envs.globalSearchPaths entries are expanded. --- src/managers/common/nativePythonFinder.ts | 3 +++ .../nativePythonFinder.getAllExtraSearchPaths.unit.test.ts | 4 +--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/managers/common/nativePythonFinder.ts b/src/managers/common/nativePythonFinder.ts index a09b83e9e..e4fc2823e 100644 --- a/src/managers/common/nativePythonFinder.ts +++ b/src/managers/common/nativePythonFinder.ts @@ -1544,6 +1544,9 @@ function getPythonSettingAndUntildify(name: string, scope?: Uri): T | undefin if (typeof value === 'string') { return value ? (untildify(value as string) as unknown as T) : undefined; } + if (Array.isArray(value)) { + return untildifyArray(value) as unknown as T; + } return value; } diff --git a/src/test/managers/common/nativePythonFinder.getAllExtraSearchPaths.unit.test.ts b/src/test/managers/common/nativePythonFinder.getAllExtraSearchPaths.unit.test.ts index 617d38d74..ee711588b 100644 --- a/src/test/managers/common/nativePythonFinder.getAllExtraSearchPaths.unit.test.ts +++ b/src/test/managers/common/nativePythonFinder.getAllExtraSearchPaths.unit.test.ts @@ -206,10 +206,8 @@ suite('getAllExtraSearchPaths Integration Tests', () => { test('Legacy paths with untildify support', async () => { // Mock → Legacy paths with tilde expansion - // Note: getPythonSettingAndUntildify only untildifies strings, not array items - // So we return the venvPath with tilde (will be untildified) and venvFolders pre-expanded pythonConfig.get.withArgs('venvPath').returns('~/virtualenvs'); - pythonConfig.get.withArgs('venvFolders').returns(['/home/user/conda/envs']); // Pre-expanded + pythonConfig.get.withArgs('venvFolders').returns(['~/conda/envs']); envConfig.inspect.withArgs('globalSearchPaths').returns({ globalValue: [] }); envConfig.inspect.withArgs('workspaceSearchPaths').returns({});