@@ -24,6 +24,7 @@ import {
2424 sendProjectStructureTelemetry ,
2525} from './common/telemetry/helpers' ;
2626import { sendTelemetryEvent } from './common/telemetry/sender' ;
27+ import { safeRegister } from './common/utils/asyncUtils' ;
2728import { createDeferred } from './common/utils/deferred' ;
2829
2930import {
@@ -527,13 +528,23 @@ export async function activate(context: ExtensionContext): Promise<PythonEnviron
527528 context . subscriptions . push ( nativeFinder ) ;
528529 const sysMgr = new SysPythonManager ( nativeFinder , api , outputChannel ) ;
529530 sysPythonManager . resolve ( sysMgr ) ;
531+ // Each manager registers independently — one failure must not block the others.
530532 await Promise . all ( [
531- registerSystemPythonFeatures ( nativeFinder , context . subscriptions , outputChannel , sysMgr ) ,
532- registerCondaFeatures ( nativeFinder , context . subscriptions , outputChannel , projectManager ) ,
533- registerPyenvFeatures ( nativeFinder , context . subscriptions , projectManager ) ,
534- registerPipenvFeatures ( nativeFinder , context . subscriptions , projectManager ) ,
535- registerPoetryFeatures ( nativeFinder , context . subscriptions , outputChannel , projectManager ) ,
536- shellStartupVarsMgr . initialize ( ) ,
533+ safeRegister (
534+ 'system' ,
535+ registerSystemPythonFeatures ( nativeFinder , context . subscriptions , outputChannel , sysMgr ) ,
536+ ) ,
537+ safeRegister (
538+ 'conda' ,
539+ registerCondaFeatures ( nativeFinder , context . subscriptions , outputChannel , projectManager ) ,
540+ ) ,
541+ safeRegister ( 'pyenv' , registerPyenvFeatures ( nativeFinder , context . subscriptions , projectManager ) ) ,
542+ safeRegister ( 'pipenv' , registerPipenvFeatures ( nativeFinder , context . subscriptions , projectManager ) ) ,
543+ safeRegister (
544+ 'poetry' ,
545+ registerPoetryFeatures ( nativeFinder , context . subscriptions , outputChannel , projectManager ) ,
546+ ) ,
547+ safeRegister ( 'shellStartupVars' , shellStartupVarsMgr . initialize ( ) ) ,
537548 ] ) ;
538549
539550 await applyInitialEnvironmentSelection ( envManagers , projectManager , nativeFinder , api ) ;
0 commit comments