in src/edge/edgeManager.ts [880:959]
private async selectModuleTemplate(label?: string, isNewSolution: boolean = false): Promise<string> {
const templatePicks: vscode.QuickPickItem[] = [
{
label: Constants.LANGUAGE_C,
description: Constants.LANGUAGE_C_DESCRIPTION,
},
{
label: Constants.LANGUAGE_CSHARP,
description: Constants.LANGUAGE_CSHARP_DESCRIPTION,
},
{
label: Constants.LANGUAGE_JAVA,
description: Constants.LANGUAGE_JAVA_DESCRIPTION,
},
{
label: Constants.LANGUAGE_NODE,
description: Constants.LANGUAGE_NODE_DESCRIPTION,
},
{
label: Constants.LANGUAGE_PYTHON,
description: Constants.LANGUAGE_PYTHON_DESCRIPTION,
},
{
label: Constants.CSHARP_FUNCTION,
description: Constants.CSHARP_FUNCTION_DESCRIPTION,
},
{
label: Constants.EVENT_GRID,
description: Constants.EVENT_GRID_DESCRIPTION,
},
{
label: Constants.MACHINE_LEARNING,
description: Constants.MACHINE_LEARNING_DESCRIPTION,
},
{
label: Constants.STREAM_ANALYTICS,
description: Constants.STREAM_ANALYTICS_DESCRIPTION,
},
{
label: Constants.ACR_MODULE,
description: Constants.ACR_MODULE_DESCRIPTION,
},
{
label: Constants.EXISTING_MODULE,
description: Constants.EXISTING_MODULE_DESCRIPTION,
},
{
label: Constants.MARKETPLACE_MODULE,
description: Constants.MARKETPLACE_MODULE_DESCRIPTION,
},
];
if (isNewSolution) {
templatePicks.push({
label: Constants.EMPTY_SOLUTION,
description: Constants.EMPTY_SLN_DESCRIPTION,
});
}
const templates = this.get3rdPartyModuleTemplates();
if (templates) {
templates.forEach((template) => {
if (template.name && template.command) {
templatePicks.push({
label: template.name,
description: template.description,
});
}
});
}
if (label === undefined) {
label = Constants.selectTemplate;
}
const templatePick = await vscode.window.showQuickPick(templatePicks, { placeHolder: label, ignoreFocusOut: true });
if (!templatePick) {
throw new UserCancelledError();
}
TelemetryClient.sendEvent(`${Constants.addModuleEvent}.selectModuleTemplate`, {
template: templatePick.label,
});
return templatePick.label;
}