From c62a6aa38a5f3c90560583d469fca197eb278328 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 29 May 2019 13:58:25 -0700 Subject: [PATCH] Set extract kind for type alias refactoring This lets you set up a single keybinding that applies to both extract constant and extract type --- .../typescript-language-features/src/features/refactor.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/extensions/typescript-language-features/src/features/refactor.ts b/extensions/typescript-language-features/src/features/refactor.ts index a3a7bb629e7..b94c90e8a44 100644 --- a/extensions/typescript-language-features/src/features/refactor.ts +++ b/extensions/typescript-language-features/src/features/refactor.ts @@ -116,6 +116,7 @@ class TypeScriptRefactorProvider implements vscode.CodeActionProvider { private static readonly extractFunctionKind = vscode.CodeActionKind.RefactorExtract.append('function'); private static readonly extractConstantKind = vscode.CodeActionKind.RefactorExtract.append('constant'); + private static readonly extractTypeKind = vscode.CodeActionKind.RefactorExtract.append('type'); private static readonly moveKind = vscode.CodeActionKind.Refactor.append('move'); constructor( @@ -217,6 +218,8 @@ class TypeScriptRefactorProvider implements vscode.CodeActionProvider { return TypeScriptRefactorProvider.extractConstantKind; } else if (refactor.name.startsWith('Move')) { return TypeScriptRefactorProvider.moveKind; + } else if (refactor.name.includes('Extract to type alias')) { + return TypeScriptRefactorProvider.extractTypeKind; } return vscode.CodeActionKind.Refactor; } @@ -227,6 +230,9 @@ class TypeScriptRefactorProvider implements vscode.CodeActionProvider { if (action.name.startsWith('constant_')) { return action.name.endsWith('scope_0'); } + if (action.name.includes('Extract to type alias')) { + return true; + } return false; } }