/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override void OnInitialize() { // --- We are going to use this singleton instance Default = this; RegisterEditorFactory(new RomEditorFactory()); RegisterEditorFactory(new TzxEditorFactory()); RegisterEditorFactory(new TapEditorFactory()); RegisterEditorFactory(new DisAnnEditorFactory()); RegisterEditorFactory(new SpConfEditorFactory()); // --- Prepare for package shutdown _packageDteEvents = ApplicationObject.Events.DTEEvents; _packageDteEvents.OnBeginShutdown += () => { PackageClosing?.Invoke(this, EventArgs.Empty); }; _solutionEvents = ApplicationObject.Events.SolutionEvents; _solutionEvents.Opened += OnSolutionOpened; _solutionEvents.AfterClosing += OnSolutionClosed; // --- Create other helper objects DebugInfoProvider = new VsIntegratedSpectrumDebugInfoProvider(); CodeManager = new Z80CodeManager(); ErrorList = new ErrorListWindow(); TaskList = new TaskListWindow(); }
/// <summary> /// Initialization of the package; this method is called right after the package is sited, so this is the place /// where you can put all the initialization code that rely on services provided by VisualStudio. /// </summary> protected override async Task OnInitializeAsync() { // --- We are going to use this singleton instance Default = this; // --- Prepare project system extension files CheckCpsFiles(); await JoinableTaskFactory.SwitchToMainThreadAsync(); RegisterEditorFactory(new RomEditorFactory()); RegisterEditorFactory(new TzxEditorFactory()); RegisterEditorFactory(new TapEditorFactory()); RegisterEditorFactory(new DisAnnEditorFactory()); RegisterEditorFactory(new SpConfEditorFactory()); RegisterEditorFactory(new VfddEditorFactory()); // --- Register providers SpectrumMachine.Reset(); SpectrumMachine.RegisterProvider <IRomProvider>(() => new PackageRomProvider()); SpectrumMachine.RegisterProvider <IKeyboardProvider>(() => new KeyboardProvider()); SpectrumMachine.RegisterProvider <IKempstonProvider>(() => new KempstonProvider()); SpectrumMachine.RegisterProvider <IBeeperProvider>(() => new AudioWaveProvider()); SpectrumMachine.RegisterProvider <ITapeProvider>(() => new VsIntegratedTapeProvider()); SpectrumMachine.RegisterProvider <ISoundProvider>(() => new AudioWaveProvider(AudioProviderType.Psg)); DebugInfoProvider = new VsIntegratedSpectrumDebugInfoProvider(); SpectrumMachine.RegisterProvider <ISpectrumDebugInfoProvider>(() => DebugInfoProvider); // --- Prepare for package shutdown _packageDteEvents = ApplicationObject.Events.DTEEvents; _packageDteEvents.OnBeginShutdown += () => { PackageClosing?.Invoke(this, EventArgs.Empty); }; _solutionEvents = ApplicationObject.Events.SolutionEvents; _solutionEvents.Opened += OnSolutionOpened; _solutionEvents.AfterClosing += OnSolutionClosed; // --- Create other helper objects CodeManager = new Z80CodeManager(); TestManager = new Z80TestManager(); StateFileManager = new VmStateFileManager(); ErrorList = new ErrorListWindow(); TaskList = new TaskListWindow(); }