示例#1
0
        /// <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()
        {
            // --- Prepare project system extension files
            CheckCpsFiles();

            // --- 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();
            TestManager       = new Z80TestManager();
            StateFileManager  = new VmStateFileManager();
            ErrorList         = new ErrorListWindow();
            TaskList          = new TaskListWindow();
        }
示例#2
0
        /// <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();
        }