src/vs/platform/extensionManagement/node/extensionsWatcher.ts/ExtensionsWatcher/onDidChangeProfiles
class ExtensionsWatcher:	private async onDidChangeProfiles(added: readonly IUserDataProfile[], removed: readonly IUserDataProfile[]): Promise<void> {
		try {
			await Promise.all(removed.map(profile => {
				this.extensionsProfileWatchDisposables.deleteAndDispose(profile.id);
				return this.removeExtensionsFromProfile(profile.extensionsResource);
			}));
		} catch (error) {
			this.logService.error(error);
		}

		try {
			if (added.length) {
				await Promise.all(added.map(profile => {
					this.extensionsProfileWatchDisposables.set(profile.id, combinedDisposable(
						this.fileService.watch(this.uriIdentityService.extUri.dirname(profile.extensionsResource)),
						// Also listen to the resource incase the resource is a symlink - https://github.com/microsoft/vscode/issues/118134
						this.fileService.watch(profile.extensionsResource)
					));
					return this.populateExtensionsFromProfile(profile.extensionsResource);
				}));
			}
		} catch (error) {
			this.logService.error(error);
		}
	}