diff --git a/extensions/positron-python/src/client/extensionActivation.ts b/extensions/positron-python/src/client/extensionActivation.ts index 9f3bf592c6e..d9878bf544b 100644 --- a/extensions/positron-python/src/client/extensionActivation.ts +++ b/extensions/positron-python/src/client/extensionActivation.ts @@ -87,7 +87,9 @@ export async function activateComponents( } const promises: Promise[] = [ // More component activations will go here - pythonEnvironments.activate(components.pythonEnvs, ext), + // --- Start Positron --- + pythonEnvironments.activateAndRefreshEnvs(components.pythonEnvs), + // --- End Positron ]; return Promise.all([legacyActivationResult, ...promises]); } diff --git a/extensions/positron-python/src/client/interpreter/configuration/interpreterSelector/commands/setInterpreter.ts b/extensions/positron-python/src/client/interpreter/configuration/interpreterSelector/commands/setInterpreter.ts index bc271a64d2f..1a868e334c6 100644 --- a/extensions/positron-python/src/client/interpreter/configuration/interpreterSelector/commands/setInterpreter.ts +++ b/extensions/positron-python/src/client/interpreter/configuration/interpreterSelector/commands/setInterpreter.ts @@ -208,12 +208,19 @@ export class SetInterpreterCommand extends BaseInterpreterSelectorCommand implem // always trigger a refresh. if (this.interpreterService.getInterpreters().length === 0) { this.refreshCallback(quickPick, { showBackButton: params?.showBackButton }); - } else { - this.refreshCallback(quickPick, { - ifNotTriggerredAlready: true, - showBackButton: params?.showBackButton, - }); } + // --- Start Positron --- + // Do not trigger a refresh when QuickPick is opened, to keep behavior the same + // between the Quick Pick and the Positron Interpreter Selector + + // else { + // this.refreshCallback(quickPick, { + // ifNotTriggerredAlready: true, + // showBackButton: params?.showBackButton, + // }); + // } + + // --- End Positron --- }, onChangeItem: { event: this.interpreterService.onDidChangeInterpreters, diff --git a/extensions/positron-python/src/client/pythonEnvironments/index.ts b/extensions/positron-python/src/client/pythonEnvironments/index.ts index 0bd766b4553..284638d880c 100644 --- a/extensions/positron-python/src/client/pythonEnvironments/index.ts +++ b/extensions/positron-python/src/client/pythonEnvironments/index.ts @@ -59,6 +59,26 @@ export async function initialize(ext: ExtensionState): Promise { return api; } +// --- Start Positron --- +/** + * Make use of the component (e.g. register with VS Code). + */ +export async function activateAndRefreshEnvs(api: IDiscoveryAPI): Promise { + /** + * Force a background refresh of the environments for each extension activation + * + * Based off activate(), but not including the logic around triggering only if + * it has not previously been triggered + */ + + api.triggerRefresh().ignoreErrors(); + + return { + fullyReady: Promise.resolve(), + }; +} +// --- End Positron --- + /** * Make use of the component (e.g. register with VS Code). */