From b600d39061b60ed50f6df14dd405227c7618b7b7 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Thu, 16 Jan 2020 17:21:49 -0800 Subject: [PATCH] Treat '#' as a VS Code trigger character Fixes #88816 --- .../src/features/completions.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/extensions/typescript-language-features/src/features/completions.ts b/extensions/typescript-language-features/src/features/completions.ts index dd281404707..2e905c7d0fa 100644 --- a/extensions/typescript-language-features/src/features/completions.ts +++ b/extensions/typescript-language-features/src/features/completions.ts @@ -331,7 +331,7 @@ namespace CompletionConfiguration { class TypeScriptCompletionItemProvider implements vscode.CompletionItemProvider { - public static readonly triggerCharacters = ['.', '"', '\'', '`', '/', '@', '<']; + public static readonly triggerCharacters = ['.', '"', '\'', '`', '/', '@', '<', '#']; constructor( private readonly client: ITypeScriptServiceClient, @@ -459,6 +459,18 @@ class TypeScriptCompletionItemProvider implements vscode.CompletionItemProvider } private getTsTriggerCharacter(context: vscode.CompletionContext): Proto.CompletionsTriggerCharacter | undefined { + // Workaround for https://github.com/microsoft/TypeScript/issues/36234 + if (context.triggerCharacter === '#') { + return undefined; + } + + // Workaround for https://github.com/Microsoft/TypeScript/issues/27321 + if (context.triggerCharacter === '@' + && this.client.apiVersion.gte(API.v310) && this.client.apiVersion.lt(API.v320) + ) { + return undefined; + } + // Workaround for https://github.com/Microsoft/TypeScript/issues/27321 if (context.triggerCharacter === '@' && this.client.apiVersion.gte(API.v310) && this.client.apiVersion.lt(API.v320)