diff --git a/extensions/typescript-language-features/src/features/completions.ts b/extensions/typescript-language-features/src/features/completions.ts index 0bb24c1a48cd1b616f85e47a88e8ecc43280e74d..074f70c573867b3185c7bc12fba7fcb172b6ad06 100644 --- a/extensions/typescript-language-features/src/features/completions.ts +++ b/extensions/typescript-language-features/src/features/completions.ts @@ -50,12 +50,7 @@ class MyCompletionItem extends vscode.CompletionItem { ) { super(tsEntry.name, MyCompletionItem.convertKind(tsEntry.kind)); - if (tsEntry.isRecommended) { - // Make sure isRecommended property always comes first - // https://github.com/Microsoft/vscode/issues/40325 - this.sortText = tsEntry.sortText; - this.preselect = true; - } else if (tsEntry.source) { + if (tsEntry.source) { // De-prioritze auto-imports // https://github.com/Microsoft/vscode/issues/40311 this.sortText = '\uffff' + tsEntry.sortText; @@ -63,6 +58,10 @@ class MyCompletionItem extends vscode.CompletionItem { this.sortText = tsEntry.sortText; } + if (tsEntry.isRecommended) { + this.preselect = true; + } + this.position = position; this.useCodeSnippet = useCodeSnippetsOnMethodSuggest && (this.kind === vscode.CompletionItemKind.Function || this.kind === vscode.CompletionItemKind.Method); @@ -87,7 +86,6 @@ class MyCompletionItem extends vscode.CompletionItem { if (tsEntry.kindModifiers) { const kindModifiers = new Set(tsEntry.kindModifiers.split(/\s+/g)); - if (kindModifiers.has(PConst.KindModifiers.optional)) { if (!this.insertText) { this.insertText = this.label; @@ -205,7 +203,6 @@ class MyCompletionItem extends vscode.CompletionItem { case PConst.Kind.enum: case PConst.Kind.interface: commitCharacters.push('.', ';'); - break; case PConst.Kind.module: