in src/utils/configUtils.ts [46:78]
async function selectQuickPick(configs: IExecutionConfig[], workspaceFolder: WorkspaceFolder): Promise<IExecutionConfig | undefined> {
if (configs.length === 0) {
return {};
}
interface IRunConfigQuickPick extends QuickPickItem {
item: IExecutionConfig;
}
const choices: IRunConfigQuickPick[] = [];
for (let i: number = 0; i < configs.length; i++) {
const label: string = configs[i].name ? configs[i].name! : `Configuration #${i + 1}`;
choices.push({
label,
detail: JSON.stringify(configs[i]),
item: configs[i],
});
}
if (choices.length === 1) {
return choices[0].item;
}
const selection: IRunConfigQuickPick | undefined = await window.showQuickPick(choices, {
ignoreFocusOut: true,
placeHolder: `Select test configuration for workspace folder: "${workspaceFolder.name}"`,
});
if (!selection) {
return undefined;
}
askPreferenceForConfig(configs, selection.item, workspaceFolder.uri);
return selection.item;
}