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; }