diff --git a/src/vs/workbench/services/preferences/common/preferencesModels.ts b/src/vs/workbench/services/preferences/common/preferencesModels.ts index a454297d0446649dcff5312d94828681a274f8ca..c44e29375399eed76cb3a6a07661f1f1a3c6d607 100644 --- a/src/vs/workbench/services/preferences/common/preferencesModels.ts +++ b/src/vs/workbench/services/preferences/common/preferencesModels.ts @@ -453,7 +453,7 @@ export class DefaultSettings extends Disposable { getContent(forceUpdate = false): string { if (!this._content || forceUpdate) { - this._content = this.toContent(true, this.getSettingsGroups(forceUpdate)); + this.initialize(); } return this._content; @@ -461,12 +461,17 @@ export class DefaultSettings extends Disposable { getSettingsGroups(forceUpdate = false): ISettingsGroup[] { if (!this._allSettingsGroups || forceUpdate) { - this._allSettingsGroups = this.parse(); + this.initialize(); } return this._allSettingsGroups; } + private initialize(): void { + this._allSettingsGroups = this.parse(); + this._content = this.toContent(true, this._allSettingsGroups); + } + private parse(): ISettingsGroup[] { const settingsGroups = this.getRegisteredGroups(); this.initAllSettingsMap(settingsGroups);