From 56e81f7c991dbb500d378e342221dd17ee848a04 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Fri, 22 Feb 2019 18:38:49 +0100 Subject: [PATCH] debt - register keybinding editing service as singleton --- src/vs/workbench/electron-browser/workbench.ts | 5 +---- .../services/keybinding/common/keybindingEditing.ts | 4 +++- src/vs/workbench/workbench.main.ts | 1 + 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/electron-browser/workbench.ts b/src/vs/workbench/electron-browser/workbench.ts index f0515d12a01..ba6caa6925a 100644 --- a/src/vs/workbench/electron-browser/workbench.ts +++ b/src/vs/workbench/electron-browser/workbench.ts @@ -40,7 +40,6 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur import { IJSONEditingService } from 'vs/workbench/services/configuration/common/jsonEditing'; import { ContextKeyService } from 'vs/platform/contextkey/browser/contextKeyService'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; -import { IKeybindingEditingService, KeybindingsEditingService } from 'vs/workbench/services/keybinding/common/keybindingEditing'; import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { IActivityService } from 'vs/workbench/services/activity/common/activity'; import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; @@ -718,9 +717,6 @@ export class Workbench extends Disposable implements IPartService { // Workspace Editing serviceCollection.set(IWorkspaceEditingService, new SyncDescriptor(WorkspaceEditingService, undefined, true)); - // Keybinding Editing - serviceCollection.set(IKeybindingEditingService, new SyncDescriptor(KeybindingsEditingService, undefined, true)); - // Configuration Resolver serviceCollection.set(IConfigurationResolverService, new SyncDescriptor(ConfigurationResolverService, [process.env], true)); @@ -746,6 +742,7 @@ export class Workbench extends Disposable implements IPartService { Registry.as(WorkbenchExtensions.Workbench).start(this.instantiationService, this.lifecycleService); Registry.as(EditorExtensions.EditorInputFactories).setInstantiationService(this.instantiationService); + // TODO@Sandeep debt around cyclic dependencies this.configurationService.acquireInstantiationService(this.instantiationService); } diff --git a/src/vs/workbench/services/keybinding/common/keybindingEditing.ts b/src/vs/workbench/services/keybinding/common/keybindingEditing.ts index e21a0e65f59..e0c03b9aef7 100644 --- a/src/vs/workbench/services/keybinding/common/keybindingEditing.ts +++ b/src/vs/workbench/services/keybinding/common/keybindingEditing.ts @@ -24,7 +24,7 @@ import { ServiceIdentifier, createDecorator } from 'vs/platform/instantiation/co import { IUserFriendlyKeybinding } from 'vs/platform/keybinding/common/keybinding'; import { ResolvedKeybindingItem } from 'vs/platform/keybinding/common/resolvedKeybindingItem'; import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles'; - +import { registerSingleton } from 'vs/platform/instantiation/common/extensions'; export const IKeybindingEditingService = createDecorator('keybindingEditingService'); @@ -252,3 +252,5 @@ export class KeybindingsEditingService extends Disposable implements IKeybinding return '// ' + localize('emptyKeybindingsHeader', "Place your key bindings in this file to override the defaults") + EOL + '[]'; } } + +registerSingleton(IKeybindingEditingService, KeybindingsEditingService, true); \ No newline at end of file diff --git a/src/vs/workbench/workbench.main.ts b/src/vs/workbench/workbench.main.ts index a7d8ae7e23d..75ee523212b 100644 --- a/src/vs/workbench/workbench.main.ts +++ b/src/vs/workbench/workbench.main.ts @@ -41,6 +41,7 @@ import 'vs/workbench/api/browser/viewsExtensionPoint'; import 'vs/workbench/services/bulkEdit/browser/bulkEditService'; import 'vs/workbench/services/integrity/node/integrityService'; +import 'vs/workbench/services/keybinding/common/keybindingEditing'; //#endregion -- GitLab