in src/extension/src/controller.ts [106:133]
private constructor(private context: vscode.ExtensionContext, private platform: PLATFORM) {
Controller.vsContext = context;
Controller.TelemetryService = new TelemetryService(this.context);
Controller.RequirementsService = new RequirementsService();
Controller.TelemetryService.trackEvent(TelemetryEventName.ExtensionLaunch);
this.Validator = new Validator();
this.AzureModule = new AzureModule();
this.Generation = new Generation(Controller.TelemetryService);
this.loggerModule = new LoggerModule();
this.dependencies = new DependenciesModule();
this.CoreTSModule = new CoreTSModule(Controller.RequirementsService);
this.Telemetry = new Telemetry(Controller.TelemetryService);
this.Defaults = new Defaults();
Logger.load(this.context.extensionPath);
Logger.initializeOutputChannel(getExtensionName(this.context));
this.defineExtensionModule();
vscode.window.withProgress(
{
location: vscode.ProgressLocation.Notification,
title: "Launching WebTS",
},
async (progress: vscode.Progress<IVSCodeProgressType>) => {
const launchExperience = new LaunchExperience(progress);
await this.launchWizard(this.context, launchExperience, this.platform);
}
);
}