public async getSubWizard()

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'));
        }
    }