diff --git a/src/services/refactors/convertStringOrTemplateLiteral.ts b/src/services/refactors/convertStringOrTemplateLiteral.ts index 9b4b754d5d9..bbc825c3d00 100644 --- a/src/services/refactors/convertStringOrTemplateLiteral.ts +++ b/src/services/refactors/convertStringOrTemplateLiteral.ts @@ -9,6 +9,7 @@ namespace ts.refactor.convertStringOrTemplateLiteral { const toStringConcatenationDescription = getLocaleSpecificMessage(Diagnostics.Convert_to_string_concatenation); // TODO let a = 45 + 45 + " ee" + 33; + // TODO let a = tag `aaa`; registerRefactor(refactorName, { getEditsForAction, getAvailableActions }); @@ -58,7 +59,8 @@ namespace ts.refactor.convertStringOrTemplateLiteral { const templateLiteralExpression = node.parent; const nodesArray: Expression[] = []; - nodesArray.push(createStringLiteral(templateLiteralExpression.head.text)); + if (templateLiteralExpression.head.text.length !== 0) nodesArray.push(createStringLiteral(templateLiteralExpression.head.text)); + templateLiteralExpression.templateSpans.forEach(ts => { nodesArray.push(ts.expression); const str = ts.literal.text; diff --git a/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringMultiExpr.ts b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringMultiExpr.ts index b75af11d8bc..3fdd7fb6362 100644 --- a/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringMultiExpr.ts +++ b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringMultiExpr.ts @@ -12,5 +12,5 @@ edit.applyRefactor({ newContent: `const age = 22 const name = "Eddy" -const foo = "" + name + " is " + age + " years old"`, +const foo = name + " is " + age + " years old"`, });