From dd6dbe86b4cedf5278f756849da0315d3e2a54ae Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Wed, 15 Nov 2017 12:00:07 +0100 Subject: [PATCH] Trigger default settings change only after updating the model --- .../parts/preferences/browser/preferencesService.ts | 1 + .../workbench/parts/preferences/common/preferencesModels.ts | 6 +----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/parts/preferences/browser/preferencesService.ts b/src/vs/workbench/parts/preferences/browser/preferencesService.ts index 19bb214dc23..e6eba1092eb 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesService.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesService.ts @@ -123,6 +123,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic } defaultSettings = this.getDefaultSettings(scope); this.modelService.updateModel(model, defaultSettings.parse()); + defaultSettings._onDidChange.fire(); } }); diff --git a/src/vs/workbench/parts/preferences/common/preferencesModels.ts b/src/vs/workbench/parts/preferences/common/preferencesModels.ts index 17d666feae1..064fac4acdf 100644 --- a/src/vs/workbench/parts/preferences/common/preferencesModels.ts +++ b/src/vs/workbench/parts/preferences/common/preferencesModels.ts @@ -511,7 +511,7 @@ export class DefaultSettings extends Disposable { private _content: string; private _settingsByName: Map; - private _onDidChange: Emitter = this._register(new Emitter()); + readonly _onDidChange: Emitter = this._register(new Emitter()); readonly onDidChange: Event = this._onDidChange.event; constructor( @@ -536,16 +536,12 @@ export class DefaultSettings extends Disposable { } parse(): string { - const currentContent = this._content; const configurations = Registry.as(Extensions.Configuration).getConfigurations().slice(); const settingsGroups = this.removeEmptySettingsGroups(configurations.sort(this.compareConfigurationNodes).reduce((result, config, index, array) => this.parseConfig(config, result, array), [])); this.initAllSettingsMap(settingsGroups); const mostCommonlyUsed = this.getMostCommonlyUsedSettings(settingsGroups); this._allSettingsGroups = [mostCommonlyUsed, ...settingsGroups]; this._content = this.toContent(mostCommonlyUsed, settingsGroups); - if (this._content !== currentContent) { - this._onDidChange.fire(); - } return this._content; } -- GitLab