diff --git a/src/services/codefixes/importFixes.ts b/src/services/codefixes/importFixes.ts index bc5bc008568e2..9f9bc959bf0d6 100644 --- a/src/services/codefixes/importFixes.ts +++ b/src/services/codefixes/importFixes.ts @@ -637,7 +637,7 @@ namespace ts.codefix { * become "ns.foo" */ const changes = ChangeTracker.with(context, tracker => - tracker.changeIdentifierToPropertyAccess(sourceFile, namespacePrefix, symbolToken)); + tracker.replaceNode(sourceFile, symbolToken, createPropertyAccess(createIdentifier(namespacePrefix), symbolToken))); return createCodeAction(Diagnostics.Change_0_to_1, [symbolName, `${namespacePrefix}.${symbolName}`], changes); } diff --git a/src/services/textChanges.ts b/src/services/textChanges.ts index 994d4fcb6bfc8..d3f6cde8e8d6e 100644 --- a/src/services/textChanges.ts +++ b/src/services/textChanges.ts @@ -344,11 +344,6 @@ namespace ts.textChanges { this.replaceRange(sourceFile, { pos, end: pos }, createToken(modifier), { suffix: " " }); } - public changeIdentifierToPropertyAccess(sourceFile: SourceFile, prefix: string, node: Identifier): void { - const pos = getAdjustedStartPosition(sourceFile, node, {}, Position.Start); - this.replaceRange(sourceFile, { pos, end: pos }, createPropertyAccess(createIdentifier(prefix), ""), {}); - } - private getOptionsForInsertNodeBefore(before: Node, doubleNewlines: boolean): ChangeNodeOptions { if (isStatement(before) || isClassElement(before)) { return { suffix: doubleNewlines ? this.newLineCharacter + this.newLineCharacter : this.newLineCharacter }; diff --git a/tests/cases/fourslash/importNameCodeFixIndentedIdentifier.ts b/tests/cases/fourslash/importNameCodeFixIndentedIdentifier.ts new file mode 100644 index 0000000000000..49bb3df022bb7 --- /dev/null +++ b/tests/cases/fourslash/importNameCodeFixIndentedIdentifier.ts @@ -0,0 +1,22 @@ +/// + +// @Filename: /a.ts +////[|import * as b from "./b"; +////{ +//// x/**/ +////}|] + +// @Filename: /b.ts +////export const x = 0; + +verify.importFixAtPosition([ +`import * as b from "./b"; +{ + b.x +}`, +`import * as b from "./b"; +import { x } from "./b"; +{ + x +}`, +]);