in src/scaffolding/wizard/ChoosePlatformStep.ts [45:84]
public async getSubWizard(wizardContext: ScaffoldingWizardContext): Promise<IWizardOptions<ScaffoldingWizardContext> | undefined> {
// No output is expected from this but it will call the setTelemetry method
await super.getSubWizard(wizardContext);
switch (wizardContext.platform) {
case 'Node.js':
return getNodeSubWizardOptions(wizardContext);
case '.NET: ASP.NET Core':
case '.NET: Core Console':
return getNetCoreSubWizardOptions(wizardContext);
case 'Python: Django':
case 'Python: FastAPI':
case 'Python: Flask':
case 'Python: General':
return getPythonSubWizardOptions(wizardContext);
case 'Java':
return getJavaSubWizardOptions(wizardContext);
case 'Go':
case 'Ruby':
// Too simple to justify having their own methods
return {
promptSteps: [
new ChoosePortsStep([3000]),
new GatherInformationStep(),
]
};
case 'C++':
case 'Other':
// Too simple to justify having their own methods
return {
promptSteps: [
new GatherInformationStep(),
]
};
default:
throw new Error(localize('vscode-docker.scaffold.choosePlatformStep.unexpectedPlatform', 'Unexpected platform'));
}
}