diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index 9276c30ad8dba..8a2be06a3b3ab 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -757,7 +757,7 @@ interface PrefixAndSuffix { readonly suffixText?: string; } function getPrefixAndSuffixText(entry: Entry, originalNode: Node, checker: TypeChecker, quotePreference: QuotePreference): PrefixAndSuffix { - if (entry.kind !== EntryKind.Span && isIdentifier(originalNode)) { + if (entry.kind !== EntryKind.Span && (isIdentifier(originalNode) || isStringLiteralLike(originalNode))) { const { node, kind } = entry; const parent = node.parent; const name = originalNode.text; diff --git a/tests/baselines/reference/renameStringPropertyNames2.baseline.jsonc b/tests/baselines/reference/renameStringPropertyNames2.baseline.jsonc new file mode 100644 index 0000000000000..a355ab18065a0 --- /dev/null +++ b/tests/baselines/reference/renameStringPropertyNames2.baseline.jsonc @@ -0,0 +1,10 @@ +// === findRenameLocations === +// === /tests/cases/fourslash/renameStringPropertyNames2.ts === +// type Props = { +// <|[|fooRENAME|]: boolean;|> +// } +// +// <|let { [|fooRENAME|]: foo/*END SUFFIX*/ }: Props = null as any;|> +// foo; +// +// let asd: Props = { <|"[|fooRENAME|]"/*RENAME*/: true|> }; // rename foo here \ No newline at end of file diff --git a/tests/cases/fourslash/renameStringPropertyNames2.ts b/tests/cases/fourslash/renameStringPropertyNames2.ts new file mode 100644 index 0000000000000..e9c469d2672fd --- /dev/null +++ b/tests/cases/fourslash/renameStringPropertyNames2.ts @@ -0,0 +1,12 @@ +/// + +////type Props = { +//// foo: boolean; +////} +//// +////let { foo }: Props = null as any; +////foo; +//// +////let asd: Props = { "foo"/**/: true }; // rename foo here + +verify.baselineRename("", {});