diff --git a/src/services/formatting/smartIndenter.ts b/src/services/formatting/smartIndenter.ts index a02dc4454fa..712c8a2f93f 100644 --- a/src/services/formatting/smartIndenter.ts +++ b/src/services/formatting/smartIndenter.ts @@ -295,9 +295,11 @@ module ts.formatting { } function getLineIndentationWhenExpressionIsInMultiLine(node: Node, sourceFile: SourceFile, options: EditorOptions): number { - if (node.parent.kind === SyntaxKind.CallExpression) { - let parentExpression = (node.parent).expression; - let startingExpression = getStartingExpression(parentExpression); + if (node.parent.kind === SyntaxKind.CallExpression || + node.parent.kind === SyntaxKind.NewExpression) { + + let parentExpression = (node.parent).expression; + let startingExpression = getStartingExpression(parentExpression); if (parentExpression === startingExpression) { return Value.Unknown; @@ -314,9 +316,9 @@ module ts.formatting { } return Value.Unknown; - function getStartingExpression(expression: CallExpression) { + function getStartingExpression(expression: PropertyAccessExpression | CallExpression | ElementAccessExpression) { while (expression.expression) - expression = expression.expression; + expression = expression.expression; return expression; } }