diff --git a/src/services/completions.ts b/src/services/completions.ts index 9cad080c461..6d1d48b22b8 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -1036,6 +1036,9 @@ namespace ts.Completions { symbolToOriginInfoMap[getSymbolId(firstAccessibleSymbol)] = !moduleSymbol || !isExternalModuleSymbol(moduleSymbol) ? { kind: SymbolOriginInfoKind.SymbolMemberNoExport } : { kind: SymbolOriginInfoKind.SymbolMemberExport, moduleSymbol, isDefaultExport: false }; } + else if (preferences.includeCompletionsWithInsertText) { + symbols.push(symbol); + } } else { symbols.push(symbol); diff --git a/tests/cases/fourslash/completionForComputedStringProperties.ts b/tests/cases/fourslash/completionForComputedStringProperties.ts new file mode 100644 index 00000000000..e03ceb4abd0 --- /dev/null +++ b/tests/cases/fourslash/completionForComputedStringProperties.ts @@ -0,0 +1,18 @@ +/// + +//// const p2 = "p2"; +//// interface A { +//// ["p1"]: string; +//// [p2]: string; +//// } +//// declare const a: A; +//// a[|./**/|] + +verify.completions({ + marker: "", + exact: [ + { name: "p1" }, + { name: "p2", insertText: '[p2]', replacementSpan: test.ranges()[0] }, + ], + preferences: { includeInsertTextCompletions: true }, +}); \ No newline at end of file