From 083095dce5634d25bbcf1f6c0150de328e56dd2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Pi=C3=B1a?= Date: Tue, 2 May 2023 17:01:07 +0200 Subject: [PATCH] Insert debug configuration function on every quickpick item --- .../debugConfigurationService.ts | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/client/debugger/extension/configuration/debugConfigurationService.ts b/src/client/debugger/extension/configuration/debugConfigurationService.ts index ea0c84f7c3de..80a1e3a8a8c4 100644 --- a/src/client/debugger/extension/configuration/debugConfigurationService.ts +++ b/src/client/debugger/extension/configuration/debugConfigurationService.ts @@ -114,64 +114,68 @@ export class PythonDebugConfigurationService implements IDebugConfigurationServi input: MultiStepInput, state: DebugConfigurationState, ): Promise | void> { - type DebugConfigurationQuickPickItem = QuickPickItem & { type: DebugConfigurationType }; + type DebugConfigurationQuickPickItemFunc = ( + input: MultiStepInput, + state: DebugConfigurationState, + ) => Promise>; + type DebugConfigurationQuickPickItem = QuickPickItem & { + type: DebugConfigurationType; + func: DebugConfigurationQuickPickItemFunc; + }; const items: DebugConfigurationQuickPickItem[] = [ { + func: buildFileLaunchDebugConfiguration, label: DebugConfigStrings.file.selectConfiguration.label, type: DebugConfigurationType.launchFile, description: DebugConfigStrings.file.selectConfiguration.description, }, { + func: buildModuleLaunchConfiguration, label: DebugConfigStrings.module.selectConfiguration.label, type: DebugConfigurationType.launchModule, description: DebugConfigStrings.module.selectConfiguration.description, }, { + func: buildRemoteAttachConfiguration, label: DebugConfigStrings.attach.selectConfiguration.label, type: DebugConfigurationType.remoteAttach, description: DebugConfigStrings.attach.selectConfiguration.description, }, { + func: buildPidAttachConfiguration, label: DebugConfigStrings.attachPid.selectConfiguration.label, type: DebugConfigurationType.pidAttach, description: DebugConfigStrings.attachPid.selectConfiguration.description, }, { + func: buildDjangoLaunchDebugConfiguration, label: DebugConfigStrings.django.selectConfiguration.label, type: DebugConfigurationType.launchDjango, description: DebugConfigStrings.django.selectConfiguration.description, }, { + func: buildFastAPILaunchDebugConfiguration, label: DebugConfigStrings.fastapi.selectConfiguration.label, type: DebugConfigurationType.launchFastAPI, description: DebugConfigStrings.fastapi.selectConfiguration.description, }, { + func: buildFlaskLaunchDebugConfiguration, label: DebugConfigStrings.flask.selectConfiguration.label, type: DebugConfigurationType.launchFlask, description: DebugConfigStrings.flask.selectConfiguration.description, }, { + func: buildPyramidLaunchConfiguration, label: DebugConfigStrings.pyramid.selectConfiguration.label, type: DebugConfigurationType.launchPyramid, description: DebugConfigStrings.pyramid.selectConfiguration.description, }, ]; - const debugConfigurations = new Map< - DebugConfigurationType, - ( - input: MultiStepInput, - state: DebugConfigurationState, - ) => Promise> - >(); - debugConfigurations.set(DebugConfigurationType.launchDjango, buildDjangoLaunchDebugConfiguration); - debugConfigurations.set(DebugConfigurationType.launchFastAPI, buildFastAPILaunchDebugConfiguration); - debugConfigurations.set(DebugConfigurationType.launchFile, buildFileLaunchDebugConfiguration); - debugConfigurations.set(DebugConfigurationType.launchFlask, buildFlaskLaunchDebugConfiguration); - debugConfigurations.set(DebugConfigurationType.launchModule, buildModuleLaunchConfiguration); - debugConfigurations.set(DebugConfigurationType.pidAttach, buildPidAttachConfiguration); - debugConfigurations.set(DebugConfigurationType.remoteAttach, buildRemoteAttachConfiguration); - debugConfigurations.set(DebugConfigurationType.launchPyramid, buildPyramidLaunchConfiguration); + const debugConfigurations = new Map(); + for (const config of items) { + debugConfigurations.set(config.type, config.func); + } state.config = {}; const pick = await input.showQuickPick<