diff --git a/src/vs/workbench/parts/preferences/browser/preferencesService.ts b/src/vs/workbench/parts/preferences/browser/preferencesService.ts index 5d866bac7ae8a863069c648467659567cbd4f6b1..b7860ec16de86b96310408dbb64e2962b2727338 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesService.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesService.ts @@ -123,8 +123,10 @@ export class PreferencesService extends Disposable implements IPreferencesServic } if (this.defaultKeybindingsResource.toString() === uri.toString()) { - return this.extensionService.onReady() - .then(() => this.instantiationService.createInstance(DefaultKeybindingsEditorModel, uri).model); + const defaultKeybindingsEditorModel = this.instantiationService.createInstance(DefaultKeybindingsEditorModel, uri); + const mode = this.modeService.getOrCreateMode('json'); + const model = this._register(this.modelService.createModel(defaultKeybindingsEditorModel.content, mode, uri)); + return TPromise.as(model); } return TPromise.as(null); @@ -135,11 +137,6 @@ export class PreferencesService extends Disposable implements IPreferencesServic return this.createDefaultSettingsEditorModel(uri); } - if (this.defaultKeybindingsResource.toString() === uri.toString()) { - const model = this.instantiationService.createInstance(DefaultKeybindingsEditorModel, uri); - return TPromise.wrap(model); - } - if (this.workspaceConfigSettingsResource.toString() === uri.toString()) { return this.createEditableSettingsEditorModel(ConfigurationTarget.WORKSPACE, uri); } diff --git a/src/vs/workbench/parts/preferences/common/preferencesModels.ts b/src/vs/workbench/parts/preferences/common/preferencesModels.ts index 90ddb2828d2ef7414e2dc1ddfbfb1366e287f3c0..9a97ffcdf6dfaf67ae584d5c135c31236edbdd7c 100644 --- a/src/vs/workbench/parts/preferences/common/preferencesModels.ts +++ b/src/vs/workbench/parts/preferences/common/preferencesModels.ts @@ -23,8 +23,6 @@ import { TPromise } from 'vs/base/common/winjs.base'; import { Queue } from 'vs/base/common/async'; import { IFileService } from 'vs/platform/files/common/files'; import { ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; -import { IModelService } from 'vs/editor/common/services/modelService'; -import { IModeService } from 'vs/editor/common/services/modeService'; export abstract class AbstractSettingsModel extends EditorModel { @@ -897,16 +895,9 @@ export function defaultKeybindingsContents(keybindingService: IKeybindingService export class DefaultKeybindingsEditorModel implements IKeybindingsEditorModel { private _content: string; - private _model: IModel; constructor(private _uri: URI, - @IKeybindingService private keybindingService: IKeybindingService, - @IModeService private modeService: IModeService, - @IModelService private modelService: IModelService) { - } - - public get model(): IModel { - return this._model; + @IKeybindingService private keybindingService: IKeybindingService) { } public get uri(): URI {