This commit is contained in:
Sandeep Somavarapu 2023-06-28 16:58:24 +02:00 committed by GitHub
parent 3167b3f222
commit 7139abe4d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 25 deletions

View file

@ -45,13 +45,13 @@ export class ExtensionsWatcher extends Disposable {
private async initialize(): Promise<void> {
await this.extensionsScannerService.initializeDefaultProfileExtensions();
await this.onDidChangeProfiles(this.userDataProfilesService.profiles, []);
await this.onDidChangeProfiles(this.userDataProfilesService.profiles);
this.registerListeners();
await this.uninstallExtensionsNotInProfiles();
}
private registerListeners(): void {
this._register(this.userDataProfilesService.onDidChangeProfiles(e => this.onDidChangeProfiles(e.added, e.removed)));
this._register(this.userDataProfilesService.onDidChangeProfiles(e => this.onDidChangeProfiles(e.added)));
this._register(this.extensionsProfileScannerService.onAddExtensions(e => this.onAddExtensions(e)));
this._register(this.extensionsProfileScannerService.onDidAddExtensions(e => this.onDidAddExtensions(e)));
this._register(this.extensionsProfileScannerService.onRemoveExtensions(e => this.onRemoveExtensions(e)));
@ -59,13 +59,8 @@ export class ExtensionsWatcher extends Disposable {
this._register(this.fileService.onDidFilesChange(e => this.onDidFilesChange(e)));
}
private async onDidChangeProfiles(added: readonly IUserDataProfile[], removed: readonly IUserDataProfile[]): Promise<void> {
private async onDidChangeProfiles(added: readonly IUserDataProfile[]): Promise<void> {
try {
await Promise.all(removed.map(profile => {
this.extensionsProfileWatchDisposables.deleteAndDispose(profile.id);
return this.removeExtensionsFromProfile(profile.extensionsResource);
}));
if (added.length) {
await Promise.all(added.map(profile => {
this.extensionsProfileWatchDisposables.set(profile.id, combinedDisposable(
@ -184,13 +179,6 @@ export class ExtensionsWatcher extends Disposable {
}
}
private async removeExtensionsFromProfile(removedProfile: URI): Promise<void> {
for (const key of [...this.allExtensions.keys()]) {
this.removeExtensionWithKey(key, removedProfile);
}
await this.uninstallExtensionsNotInProfiles();
}
private async uninstallExtensionsNotInProfiles(toUninstall?: IExtension[]): Promise<void> {
if (!toUninstall) {
const installed = await this.extensionManagementService.scanAllUserInstalledExtensions();

View file

@ -416,16 +416,6 @@ export class UserDataProfilesService extends Disposable implements IUserDataProf
this.logService.error(error);
}
}
try {
if (this.profiles.length === 1) {
await this.fileService.del(this.profilesHome, { recursive: true });
} else {
await this.fileService.del(profile.location, { recursive: true });
}
} catch (error) {
this.logService.error(error);
}
}
async setProfileForWorkspace(workspaceIdentifier: IAnyWorkspaceIdentifier, profileToSet: IUserDataProfile): Promise<void> {