@@ -127,7 +127,7 @@ export abstract class AbstractExtensionManagementService extends Disposable impl
127
127
const installExtensionTaskOptions : InstallExtensionTaskOptions = {
128
128
...options ,
129
129
installOnlyNewlyAddedFromExtensionPack : URI . isUri ( extension ) ? options . installOnlyNewlyAddedFromExtensionPack : true , /* always true for gallery extensions */
130
- profileLocation : ! options . profileLocation || isApplicationScopedExtension ( manifest ) ? this . userDataProfilesService . defaultProfile . extensionsResource : options . profileLocation
130
+ profileLocation : isApplicationScopedExtension ( manifest ) ? this . userDataProfilesService . defaultProfile . extensionsResource : options . profileLocation ?? this . getCurrentExtensionsManifestLocation ( )
131
131
} ;
132
132
const getInstallExtensionTaskKey = ( extension : IGalleryExtension ) => `${ ExtensionKey . create ( extension ) . toString ( ) } ${ installExtensionTaskOptions . profileLocation ? `-${ installExtensionTaskOptions . profileLocation . toString ( ) } ` : '' } ` ;
133
133
@@ -467,7 +467,7 @@ export abstract class AbstractExtensionManagementService extends Disposable impl
467
467
private async uninstallExtension ( extension : ILocalExtension , options : UninstallOptions ) : Promise < void > {
468
468
const uninstallOptions : UninstallExtensionTaskOptions = {
469
469
...options ,
470
- profileLocation : ! options . profileLocation || extension . isApplicationScoped ? this . userDataProfilesService . defaultProfile . extensionsResource : options . profileLocation
470
+ profileLocation : extension . isApplicationScoped ? this . userDataProfilesService . defaultProfile . extensionsResource : options . profileLocation ?? this . getCurrentExtensionsManifestLocation ( )
471
471
} ;
472
472
const getUninstallExtensionTaskKey = ( identifier : IExtensionIdentifier ) => `${ identifier . id . toLowerCase ( ) } ${ uninstallOptions . versionOnly ? `-${ extension . manifest . version } ` : '' } ${ uninstallOptions . profileLocation ? `@${ uninstallOptions . profileLocation . toString ( ) } ` : '' } ` ;
473
473
const uninstallExtensionTask = this . uninstallingExtensions . get ( getUninstallExtensionTaskKey ( extension . identifier ) ) ;
@@ -659,6 +659,7 @@ export abstract class AbstractExtensionManagementService extends Disposable impl
659
659
abstract updateMetadata ( local : ILocalExtension , metadata : IGalleryMetadata ) : Promise < ILocalExtension > ;
660
660
abstract updateExtensionScope ( local : ILocalExtension , isMachineScoped : boolean ) : Promise < ILocalExtension > ;
661
661
662
+ protected abstract getCurrentExtensionsManifestLocation ( ) : URI ;
662
663
protected abstract createInstallExtensionTask ( manifest : IExtensionManifest , extension : URI | IGalleryExtension , options : InstallExtensionTaskOptions ) : IInstallExtensionTask ;
663
664
protected abstract createUninstallExtensionTask ( extension : ILocalExtension , options : UninstallExtensionTaskOptions ) : IUninstallExtensionTask ;
664
665
}
0 commit comments