diff --git a/src/vs/platform/userDataSync/common/userDataSync.ts b/src/vs/platform/userDataSync/common/userDataSync.ts index 8c10789cd1f..72fd5b81609 100644 --- a/src/vs/platform/userDataSync/common/userDataSync.ts +++ b/src/vs/platform/userDataSync/common/userDataSync.ts @@ -225,7 +225,6 @@ export interface IUserDataSyncUtilService { updateConfigurationValue(key: string, value: any): Promise; resolveUserBindings(userbindings: string[]): Promise>; resolveFormattingOptions(resource: URI): Promise; - ignoreExtensionsToSync(extensionIdentifiers: IExtensionIdentifier[]): Promise; } export const IUserDataAuthTokenService = createDecorator('IUserDataAuthTokenService'); diff --git a/src/vs/platform/userDataSync/common/userDataSyncIpc.ts b/src/vs/platform/userDataSync/common/userDataSyncIpc.ts index e00a58bead7..feaec1ba928 100644 --- a/src/vs/platform/userDataSync/common/userDataSyncIpc.ts +++ b/src/vs/platform/userDataSync/common/userDataSyncIpc.ts @@ -9,7 +9,6 @@ import { IUserDataSyncService, IUserDataSyncUtilService, ISettingsSyncService, I import { URI } from 'vs/base/common/uri'; import { IStringDictionary } from 'vs/base/common/collections'; import { FormattingOptions } from 'vs/base/common/jsonFormatter'; -import { IExtensionIdentifier } from 'vs/platform/extensionManagement/common/extensionManagement'; export class UserDataSyncChannel implements IServerChannel { @@ -124,7 +123,6 @@ export class UserDataSycnUtilServiceChannel implements IServerChannel { case 'resolveUserKeybindings': return this.service.resolveUserBindings(args[0]); case 'resolveFormattingOptions': return this.service.resolveFormattingOptions(URI.revive(args[0])); case 'updateConfigurationValue': return this.service.updateConfigurationValue(args[0], args[1]); - case 'ignoreExtensionsToSync': return this.service.ignoreExtensionsToSync(args[0]); } throw new Error('Invalid call'); } @@ -149,9 +147,5 @@ export class UserDataSyncUtilServiceClient implements IUserDataSyncUtilService { return this.channel.call('updateConfigurationValue', [key, value]); } - async ignoreExtensionsToSync(extensionIdentifiers: IExtensionIdentifier[]): Promise { - return this.channel.call('ignoreExtensionsToSync', [extensionIdentifiers]); - } - } diff --git a/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.ts b/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.ts index 51cb80ace6a..e4b220be0ab 100644 --- a/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.ts +++ b/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.ts @@ -12,13 +12,6 @@ import { URI } from 'vs/base/common/uri'; import { ITextModelService } from 'vs/editor/common/services/resolverService'; import { ITextResourcePropertiesService, ITextResourceConfigurationService } from 'vs/editor/common/services/textResourceConfigurationService'; import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; -import type { IExtensionIdentifier } from 'vs/platform/extensions/common/extensions'; -import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput'; -import { DisposableStore } from 'vs/base/common/lifecycle'; -import { IExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionManagement'; -import { CancellationToken } from 'vs/base/common/cancellation'; -import { localize } from 'vs/nls'; -import { areSameExtensions } from 'vs/platform/extensionManagement/common/extensionManagementUtil'; class UserDataSyncUtilService implements IUserDataSyncUtilService { @@ -30,8 +23,6 @@ class UserDataSyncUtilService implements IUserDataSyncUtilService { @ITextResourcePropertiesService private readonly textResourcePropertiesService: ITextResourcePropertiesService, @ITextResourceConfigurationService private readonly textResourceConfigurationService: ITextResourceConfigurationService, @IConfigurationService private readonly configurationService: IConfigurationService, - @IQuickInputService private readonly quickInputService: IQuickInputService, - @IExtensionGalleryService private readonly extensionGalleryService: IExtensionGalleryService ) { } public async updateConfigurationValue(key: string, value: any): Promise { @@ -62,38 +53,6 @@ class UserDataSyncUtilService implements IUserDataSyncUtilService { }; } - async ignoreExtensionsToSync(extensionIdentifiers: IExtensionIdentifier[]): Promise { - return new Promise(async (c, e) => { - const disposables: DisposableStore = new DisposableStore(); - const quickPick = this.quickInputService.createQuickPick<{ identifier: IExtensionIdentifier, label: string, description: string }>(); - disposables.add(quickPick); - quickPick.title = localize('select extensions', "Sync: Select Extensions to Sync"); - quickPick.placeholder = localize('choose extensions to sync', "Choose extensions to sync"); - quickPick.canSelectMany = true; - quickPick.ignoreFocusOut = true; - quickPick.busy = true; - quickPick.show(); - const queryResult = await this.extensionGalleryService.query({ names: extensionIdentifiers.map(e => e.id), pageSize: extensionIdentifiers.length }, CancellationToken.None); - const items = queryResult.firstPage.map(e => ({ - identifier: e.identifier, - label: e.identifier.id, - description: e.displayName - })); - quickPick.busy = false; - quickPick.items = items; - quickPick.selectedItems = items; - disposables.add(quickPick.onDidAccept(async () => { - const ignoredExtensions: string[] = this.configurationService.getValue('sync.ignoredExtensions').filter(id => quickPick.selectedItems.every(({ identifier }) => !areSameExtensions(identifier, { id }))); - ignoredExtensions.push(...items.filter(item => quickPick.selectedItems.indexOf(item) === -1).map(({ identifier }) => identifier.id)); - await this.configurationService.updateValue('sync.ignoredExtensions', ignoredExtensions); - quickPick.hide(); - })); - disposables.add(quickPick.onDidHide(() => { - disposables.dispose(); - c(); - })); - }); - } } registerSingleton(IUserDataSyncUtilService, UserDataSyncUtilService);