@@ -344,7 +344,9 @@ export async function handlePackageUninstall(context: unknown, em: EnvironmentMa
344344 const moduleName = context . pkg . name ;
345345 const environment = context . parent . environment ;
346346 const packageManager = em . getPackageManager ( environment ) ;
347- await packageManager ?. manage ( environment , { uninstall : [ moduleName ] , install : [ ] } ) ;
347+ const operationContext =
348+ context instanceof ProjectPackage ? { projectUri : context . parent . parent . project . uri } : undefined ;
349+ await packageManager ?. manage ( environment , { uninstall : [ moduleName ] , install : [ ] } , operationContext ) ;
348350 return ;
349351 }
350352 traceError ( `Invalid context for uninstall command: ${ typeof context } ` ) ;
@@ -432,10 +434,16 @@ export async function managePackageVersion(context: unknown, em: EnvironmentMana
432434 return ;
433435 }
434436
435- await packageManager . manage ( environment , {
436- install : [ packageManager . formatInstallSpec ( pkg . name , version ) ] ,
437- uninstall : [ ] ,
438- } ) ;
437+ const operationContext =
438+ context instanceof ProjectPackage ? { projectUri : context . parent . parent . project . uri } : undefined ;
439+ await packageManager . manage (
440+ environment ,
441+ {
442+ install : [ packageManager . formatInstallSpec ( pkg . name , version ) ] ,
443+ uninstall : [ ] ,
444+ } ,
445+ operationContext ,
446+ ) ;
439447 } else {
440448 traceError ( `Invalid context for manage package version command: ${ typeof context } ` ) ;
441449 }
@@ -756,6 +764,7 @@ export async function getPackageCommandOptions(
756764) : Promise < {
757765 packageManager : InternalPackageManager ;
758766 environment : PythonEnvironment ;
767+ projectUri ?: Uri ;
759768} > {
760769 const options = await resolvePackageCommandOptions ( e , em , pm ) ;
761770 // The tree view hides package actions for inline-script environments, but the command palette
@@ -773,6 +782,7 @@ async function resolvePackageCommandOptions(
773782) : Promise < {
774783 packageManager : InternalPackageManager ;
775784 environment : PythonEnvironment ;
785+ projectUri ?: Uri ;
776786} > {
777787 if ( e === undefined ) {
778788 const project = await pickProject ( pm . getProjects ( ) ) ;
@@ -785,7 +795,7 @@ async function resolvePackageCommandOptions(
785795 const environment = e . environment ;
786796 const packageManager = em . getPackageManager ( e . parent . project . uri ) ;
787797 if ( packageManager ) {
788- return { environment, packageManager } ;
798+ return { environment, packageManager, projectUri : e . parent . project . uri } ;
789799 }
790800 }
791801
@@ -801,7 +811,7 @@ async function resolvePackageCommandOptions(
801811 const environment = await em . getEnvironmentManager ( e ) ?. get ( e ) ;
802812 const packageManager = em . getPackageManager ( e ) ;
803813 if ( environment && packageManager ) {
804- return { environment, packageManager } ;
814+ return { environment, packageManager, projectUri : e } ;
805815 }
806816 }
807817
0 commit comments