From 93582ce6de0a0a85ce9a8f290defcf6a7bdee7c1 Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Wed, 11 Apr 2018 14:32:54 -0700 Subject: [PATCH] Fix #47228 - Don't autofix JSON incorrectly when the user has only typed a key and colon --- extensions/configuration-editing/src/extension.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/extensions/configuration-editing/src/extension.ts b/extensions/configuration-editing/src/extension.ts index 4b7b3e678aa..5aa5ebed1eb 100644 --- a/extensions/configuration-editing/src/extension.ts +++ b/extensions/configuration-editing/src/extension.ts @@ -70,7 +70,12 @@ function autoFixSettingsJSON(willSaveEvent: vscode.TextDocumentWillSaveEvent): v onError(error: ParseErrorCode, offset: number, length: number): void { if (error === ParseErrorCode.CommaExpected && lastEndOfSomething > -1) { const fixPosition = document.positionAt(lastEndOfSomething); - edit.insert(document.uri, fixPosition, ','); + + // Don't insert a comma immediately before a : or ' :' + const colonRange = document.getWordRangeAtPosition(fixPosition, / *:/); + if (!colonRange) { + edit.insert(document.uri, fixPosition, ','); + } } } });