diff --git a/src/services/services.ts b/src/services/services.ts index 2f835d7de64..b28e52ce6d6 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1822,6 +1822,13 @@ namespace ts { return false; } + switch (openingBrace) { + case CharacterCodes.singleQuote: + case CharacterCodes.doubleQuote: + case CharacterCodes.backtick: + return !isInComment(sourceFile, position); + } + return true; } diff --git a/tests/cases/fourslash/commentBraceCompletionPosition.ts b/tests/cases/fourslash/commentBraceCompletionPosition.ts index 3730a3466c9..e206b161e7f 100644 --- a/tests/cases/fourslash/commentBraceCompletionPosition.ts +++ b/tests/cases/fourslash/commentBraceCompletionPosition.ts @@ -7,17 +7,30 @@ //// // inside regular comment /*2*/ //// var c = ""; //// -//// /* inside multi- -//// line comment /*3*/ +//// /*3*//* inside /*4*/multi- +//// line comment /*5*/ //// */ //// var y =12; //// } goTo.marker('1'); verify.isValidBraceCompletionAtPosition('('); +verify.not.isValidBraceCompletionAtPosition('"'); +verify.not.isValidBraceCompletionAtPosition(`'`); +verify.not.isValidBraceCompletionAtPosition('`'); goTo.marker('2'); verify.isValidBraceCompletionAtPosition('('); +verify.not.isValidBraceCompletionAtPosition('"'); goTo.marker('3'); -verify.isValidBraceCompletionAtPosition('('); \ No newline at end of file +verify.isValidBraceCompletionAtPosition('('); +verify.isValidBraceCompletionAtPosition('"'); + +goTo.marker('4'); +verify.isValidBraceCompletionAtPosition('('); +verify.not.isValidBraceCompletionAtPosition('"'); + +goTo.marker('5'); +verify.isValidBraceCompletionAtPosition('('); +verify.not.isValidBraceCompletionAtPosition('"'); \ No newline at end of file