diff --git a/src/client/pythonEnvironments/index.ts b/src/client/pythonEnvironments/index.ts index 3f2b1748d095..c7c97ccd68e8 100644 --- a/src/client/pythonEnvironments/index.ts +++ b/src/client/pythonEnvironments/index.ts @@ -64,21 +64,20 @@ export async function activate(api: IDiscoveryAPI, ext: ExtensionState): Promise * extension activation on the "refresh trigger". */ const folders = vscode.workspace.workspaceFolders; - const wasTriggered = getGlobalStorage(ext.context, 'PYTHON_WAS_DISCOVERY_TRIGGERED', false); - if (!wasTriggered.get()) { + // Trigger discovery if environment cache is empty. + const wasTriggered = getGlobalStorage(ext.context, 'PYTHON_ENV_INFO_CACHE', []).get().length > 0; + if (!wasTriggered) { api.triggerRefresh().ignoreErrors(); - wasTriggered.set(true).then(() => { - folders?.forEach(async (folder) => { - const wasTriggeredForFolder = getGlobalStorage( - ext.context, - `PYTHON_WAS_DISCOVERY_TRIGGERED_${normCasePath(folder.uri.fsPath)}`, - false, - ); - await wasTriggeredForFolder.set(true); - }); + folders?.forEach(async (folder) => { + const wasTriggeredForFolder = getGlobalStorage( + ext.context, + `PYTHON_WAS_DISCOVERY_TRIGGERED_${normCasePath(folder.uri.fsPath)}`, + false, + ); + await wasTriggeredForFolder.set(true); }); } else { - // Figure out which workspace folders need to be activated. + // Figure out which workspace folders need to be activated if any. folders?.forEach(async (folder) => { const wasTriggeredForFolder = getGlobalStorage( ext.context,