diff --git a/src/services/formatting/formatting.ts b/src/services/formatting/formatting.ts index cab7547557c..c0188494f71 100644 --- a/src/services/formatting/formatting.ts +++ b/src/services/formatting/formatting.ts @@ -120,7 +120,9 @@ module ts.formatting { function findOutermostParent(position: number, expectedTokenKind: SyntaxKind, sourceFile: SourceFile): Node { var precedingToken = findPrecedingToken(position, sourceFile); - if (!precedingToken || precedingToken.kind !== expectedTokenKind) { + if (!precedingToken || + precedingToken.kind !== expectedTokenKind || + position !== precedingToken.getEnd()) { return undefined; } diff --git a/tests/cases/fourslash/formattingInComment.ts b/tests/cases/fourslash/formattingInComment.ts new file mode 100644 index 00000000000..9ce1c9203d5 --- /dev/null +++ b/tests/cases/fourslash/formattingInComment.ts @@ -0,0 +1,13 @@ +/// +////class A { +////foo( ); // /*1*/ +////} +////function foo() { var x; } // /*2*/ + +goTo.marker("1"); +edit.insert(";"); +verify.currentLineContentIs("foo( ); // ;") + +goTo.marker("2"); +edit.insert("}"); +verify.currentLineContentIs("function foo() { var x; } // }"); \ No newline at end of file