/// <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 Initialize() { // You may wonder why this isn't in the constructor. // It's because we're dependant on the IServiceProvider which isn't // created until the package is loaded within the VS environment so // that's why this initialization is done here var dependencyContainer = Bootstrapper.Initialize(this); InitializeListeners.FromAssembly(dependencyContainer, typeof(EventQueue).Assembly); InitializeListeners.FromAssembly(dependencyContainer, this.GetType().Assembly); ProcessingQueueCommand.Initialize(this); TestsCommand.Initialize(this); base.Initialize(); // Subscribe to solution loaded/unloaded events var solution = GetService(typeof(SVsSolution)) as IVsSolution; var eventHandler = dependencyContainer.Resolve <VisualStudioEventHandler>(); solution.AdviseSolutionEvents(eventHandler, out solutionEventsCookie); var rdt = GetService(typeof(SVsRunningDocumentTable)) as IVsRunningDocumentTable; rdt.AdviseRunningDocTableEvents(eventHandler, out rdtEventsCookie); }
/// <summary> /// Initializes the singleton instance of the command. /// </summary> /// <param name="package">Owner package, not null.</param> public static void Initialize(Package package) { Instance = new ProcessingQueueCommand(package); }