diff --git a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts index 53ed1637f42e8..0f55433f49dfa 100644 --- a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts +++ b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts @@ -1104,8 +1104,8 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil this.logService.info(`Adjusting encoding based on configured language override to '${encoding}' for ${this.resource.toString(true)}.`); - // Re-open with new encoding - return this.setEncodingInternal(encoding, EncodingMode.Decode); + // Force resolve to pick up the new encoding + return this.forceResolveFromFile(); } private hasEncodingSetExplicitly: boolean = false; diff --git a/src/vs/workbench/services/textfile/test/browser/textFileEditorModel.test.ts b/src/vs/workbench/services/textfile/test/browser/textFileEditorModel.test.ts index 2dc439f6f816a..81a8a0ef63b77 100644 --- a/src/vs/workbench/services/textfile/test/browser/textFileEditorModel.test.ts +++ b/src/vs/workbench/services/textfile/test/browser/textFileEditorModel.test.ts @@ -359,9 +359,7 @@ suite('Files - TextFileEditorModel', () => { model.setLanguageId(languageId); - await deferredPromise.p; - - assert.strictEqual(model.getEncoding(), UTF16be); + await deferredPromise.p; // this asserts that the model was reloaded due to the language change }); test('create with language', async function () {