public void OnConnection(object app, Extensibility.ext_ConnectMode mode, object addin, ref System.Array custom) { appobj_ = (_DTE)app; addin_ = (AddIn)addin; EnvDTE.Events events = appobj_.Events; events_ = (EnvDTE.WindowEvents)events.get_WindowEvents(); handler_ = new _dispWindowEvents_WindowActivatedEventHandler(this.OnWindowActivated); events_.WindowActivated += handler_; }
public override void OnToolWindowCreated() { base.OnToolWindowCreated(); ExplorerControl.OnVsToolWindowCreated(this); _txtMgr = (IVsTextManager)GetService(typeof(SVsTextManager)); _componentModel = (IComponentModel)GetService(typeof(SComponentModel)); _editorAdaptersFactoryService = (IVsEditorAdaptersFactoryService)_componentModel.GetService <IVsEditorAdaptersFactoryService>(); //_editorPrimitivesFactoryService = (IEditorPrimitivesFactoryService)_componentModel.GetService<IEditorPrimitivesFactoryService>(); EnvDTE.DTE dte = (EnvDTE.DTE)GetService(typeof(EnvDTE.DTE)); EnvDTE80.Events2 events = (EnvDTE80.Events2)dte.Events; this.WindowEvents = (EnvDTE.WindowEvents)events.get_WindowEvents(null); this.WindowEvents.WindowActivated += (Window GotFocus, Window LostFocus) => { if (GotFocus.ObjectKind.ToString().ToLower().Equals("{" + GuidList.GuidCodeSearchToolWindowString + "}")) { var word = GetSelectedOrWord(); if (word.Equals("")) { return; } ExplorerControl.SearchCodeCombo.Text = GetSelectedOrWord(); //ExplorerControl.SearchCodeCombo.Focus(); } }; // Advise IVsWindowFrameNotify so we know when we get hidden, etc. var frame = Frame as IVsWindowFrame2; if (frame != null) { _frameNotify = new VsWindowFrameNotifyHandler(frame); _frameNotify.Advise(); //_frameNotify.OnShowCallBack = () => { // ExplorerControl.SearchCodeCombo.Focus(); // var vsp = Package as VsPackage; // var ts = vsp.DTE.ActiveDocument.Selection as TextSelection; // //if (ts != null) // // ExplorerControl.SearchCodeCombo.Text = ts.Text; //}; } // Hookup command handlers var commands = new List <IPackageCommandHandler> { new PreviousLocationCommandHandler(this), new NextLocationCommandHandler(this), new CancelSearchCommandHandler(this), //new CancelSearchToolWindowCommandHandler(this), // Add more here... }; var commandService = (IMenuCommandService)GetService(typeof(IMenuCommandService)); commands.ForEach(handler => commandService.AddCommand(handler.ToOleMenuCommand())); }
private void AddApplicationObjectHandlers(EnvDTE80.DTE2 _applicationObject) { // Setup all the solution events solutionEvents = (EnvDTE.SolutionEvents)_applicationObject.Events.SolutionEvents; solutionEvents.BeforeClosing += new _dispSolutionEvents_BeforeClosingEventHandler(solutionEvents_BeforeClosing); solutionEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(solutionEvents_Opened); // Setup all text editor events textEditorEvents = (EnvDTE.TextEditorEvents)_applicationObject.Events.TextEditorEvents; textEditorEvents.LineChanged += new _dispTextEditorEvents_LineChangedEventHandler(textEditorEvents_LineChanged); // Setup all window events windowEvents = (EnvDTE.WindowEvents)_applicationObject.Events.WindowEvents; windowEvents.WindowActivated += new _dispWindowEvents_WindowActivatedEventHandler(windowEvents_WindowActivated); }
/// <summary>Implements the OnConnection method of the IDTExtensibility2 interface. Receives notification that the Add-in is being loaded.</summary> /// <param term='application'>Root object of the host application.</param> /// <param term='connectMode'>Describes how the Add-in is being loaded.</param> /// <param term='addInInst'>Object representing this Add-in.</param> /// <seealso class='IDTExtensibility2' /> public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; // Setup all the solution events solutionEvents = (EnvDTE.SolutionEvents)_applicationObject.Events.SolutionEvents; solutionEvents.BeforeClosing += new _dispSolutionEvents_BeforeClosingEventHandler(solutionEvents_BeforeClosing); solutionEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(solutionEvents_Opened); // Setup all text editor events textEditorEvents = (EnvDTE.TextEditorEvents)_applicationObject.Events.TextEditorEvents; textEditorEvents.LineChanged += new _dispTextEditorEvents_LineChangedEventHandler(textEditorEvents_LineChanged); // Setup all window events windowEvents = (EnvDTE.WindowEvents)_applicationObject.Events.WindowEvents; windowEvents.WindowActivated += new _dispWindowEvents_WindowActivatedEventHandler(windowEvents_WindowActivated); switch (connectMode) { case ext_ConnectMode.ext_cm_UISetup: // We should never get here, this is temporary UI break; case ext_ConnectMode.ext_cm_Startup: // The add-in was marked to load on startup AddToolWindow(); AddToolWindowMenuItem(); break; case ext_ConnectMode.ext_cm_AfterStartup: // The add-in was loaded by hand after startup using the Add-In Manager // Initialize it in the same way that when is loaded on startup AddToolWindow(); AddToolWindowMenuItem(); break; } }
/// <summary> /// Registers handlers for the Activated and Closing events from the text window. /// </summary> public void AddWindowEvents() { _events = (EnvDTE80.Events2)_dte.Events; _windowsEvents = (EnvDTE.WindowEvents)_events.get_WindowEvents(null); _windowsEvents.WindowActivated += new EnvDTE._dispWindowEvents_WindowActivatedEventHandler(windowsEvents_WindowActivated); _windowsEvents.WindowClosing += new EnvDTE._dispWindowEvents_WindowClosingEventHandler(windowsEvents_WindowClosing); }
public void Attach(_DTE app) { applicationObject = app; EnvDTE.Events events = applicationObject.Events; OutputWindow outputWindow = (OutputWindow)applicationObject.Windows.Item(Constants.vsWindowKindOutput).Object; //IObjectExplorerService objectExplorer = ServiceCache.GetObjectExplorer(); //var provider = (IObjectExplorerEventProvider)objectExplorer.GetService(typeof(IObjectExplorerEventProvider)); //provider.SelectionChanged += new NodesChangedEventHandler(provider_SelectionChanged); _outputWindowPane = outputWindow.OutputWindowPanes.Add("DTE Event Information - C# Event Watcher"); //Retrieve the event objects from the automation model _windowsEvents = (EnvDTE.WindowEvents)events.get_WindowEvents(null); _textEditorEvents = (EnvDTE.TextEditorEvents)events.get_TextEditorEvents(null); _taskListEvents = (EnvDTE.TaskListEvents)events.get_TaskListEvents(""); _solutionEvents = (EnvDTE.SolutionEvents)events.SolutionEvents; _selectionEvents = (EnvDTE.SelectionEvents)events.SelectionEvents; _outputWindowEvents = (EnvDTE.OutputWindowEvents)events.get_OutputWindowEvents(""); _findEvents = (EnvDTE.FindEvents)events.FindEvents; _dteEvents = (EnvDTE.DTEEvents)events.DTEEvents; _documentEvents = (EnvDTE.DocumentEvents)events.get_DocumentEvents(null); _debuggerEvents = (EnvDTE.DebuggerEvents)events.DebuggerEvents; _commandEvents = (EnvDTE.CommandEvents)events.get_CommandEvents("{00000000-0000-0000-0000-000000000000}", 0); _buildEvents = (EnvDTE.BuildEvents)events.BuildEvents; _miscFilesEvents = (EnvDTE.ProjectItemsEvents)events.MiscFilesEvents; _solutionItemsEvents = (EnvDTE.ProjectItemsEvents)events.SolutionItemsEvents; _globalProjectItemsEvents = ((EnvDTE80.Events2)events).ProjectItemsEvents; _globalProjectsEvents = ((EnvDTE80.Events2)events).ProjectsEvents; _textDocumentKeyPressEvents = ((EnvDTE80.Events2)events).get_TextDocumentKeyPressEvents(null); _codeModelEvents = ((EnvDTE80.Events2)events).get_CodeModelEvents(null); _windowVisibilityEvents = ((EnvDTE80.Events2)events).get_WindowVisibilityEvents(null); _debuggerProcessEvents = ((EnvDTE80.Events2)events).DebuggerProcessEvents; _debuggerExpressionEvaluationEvents = ((EnvDTE80.Events2)events).DebuggerExpressionEvaluationEvents; _publishEvents = ((EnvDTE80.Events2)events).PublishEvents; //Connect to each delegate exposed from each object retrieved above _windowsEvents.WindowActivated += new _dispWindowEvents_WindowActivatedEventHandler(this.WindowActivated); _windowsEvents.WindowClosing += new _dispWindowEvents_WindowClosingEventHandler(this.WindowClosing); _windowsEvents.WindowCreated += new _dispWindowEvents_WindowCreatedEventHandler(this.WindowCreated); _windowsEvents.WindowMoved += new _dispWindowEvents_WindowMovedEventHandler(this.WindowMoved); _textEditorEvents.LineChanged += new _dispTextEditorEvents_LineChangedEventHandler(this.LineChanged); _taskListEvents.TaskAdded += new _dispTaskListEvents_TaskAddedEventHandler(this.TaskAdded); _taskListEvents.TaskModified += new _dispTaskListEvents_TaskModifiedEventHandler(this.TaskModified); _taskListEvents.TaskNavigated += new _dispTaskListEvents_TaskNavigatedEventHandler(this.TaskNavigated); _taskListEvents.TaskRemoved += new _dispTaskListEvents_TaskRemovedEventHandler(this.TaskRemoved); _solutionEvents.AfterClosing += new _dispSolutionEvents_AfterClosingEventHandler(this.AfterClosing); _solutionEvents.BeforeClosing += new _dispSolutionEvents_BeforeClosingEventHandler(this.BeforeClosing); _solutionEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(this.Opened); _solutionEvents.ProjectAdded += new _dispSolutionEvents_ProjectAddedEventHandler(this.ProjectAdded); _solutionEvents.ProjectRemoved += new _dispSolutionEvents_ProjectRemovedEventHandler(this.ProjectRemoved); _solutionEvents.ProjectRenamed += new _dispSolutionEvents_ProjectRenamedEventHandler(this.ProjectRenamed); _solutionEvents.QueryCloseSolution += new _dispSolutionEvents_QueryCloseSolutionEventHandler(this.QueryCloseSolution); _solutionEvents.Renamed += new _dispSolutionEvents_RenamedEventHandler(this.Renamed); _selectionEvents.OnChange += new _dispSelectionEvents_OnChangeEventHandler(this.OnChange); _outputWindowEvents.PaneAdded += new _dispOutputWindowEvents_PaneAddedEventHandler(this.PaneAdded); _outputWindowEvents.PaneClearing += new _dispOutputWindowEvents_PaneClearingEventHandler(this.PaneClearing); _outputWindowEvents.PaneUpdated += new _dispOutputWindowEvents_PaneUpdatedEventHandler(this.PaneUpdated); _findEvents.FindDone += new _dispFindEvents_FindDoneEventHandler(this.FindDone); _dteEvents.ModeChanged += new _dispDTEEvents_ModeChangedEventHandler(this.ModeChanged); _dteEvents.OnBeginShutdown += new _dispDTEEvents_OnBeginShutdownEventHandler(this.OnBeginShutdown); _dteEvents.OnMacrosRuntimeReset += new _dispDTEEvents_OnMacrosRuntimeResetEventHandler(this.OnMacrosRuntimeReset); _dteEvents.OnStartupComplete += new _dispDTEEvents_OnStartupCompleteEventHandler(this.OnStartupComplete); _documentEvents.DocumentClosing += new _dispDocumentEvents_DocumentClosingEventHandler(this.DocumentClosing); _documentEvents.DocumentOpened += new _dispDocumentEvents_DocumentOpenedEventHandler(this.DocumentOpened); _documentEvents.DocumentOpening += new _dispDocumentEvents_DocumentOpeningEventHandler(this.DocumentOpening); _documentEvents.DocumentSaved += new _dispDocumentEvents_DocumentSavedEventHandler(this.DocumentSaved); _debuggerEvents.OnContextChanged += new _dispDebuggerEvents_OnContextChangedEventHandler(this.OnContextChanged); _debuggerEvents.OnEnterBreakMode += new _dispDebuggerEvents_OnEnterBreakModeEventHandler(this.OnEnterBreakMode); _debuggerEvents.OnEnterDesignMode += new _dispDebuggerEvents_OnEnterDesignModeEventHandler(this.OnEnterDesignMode); _debuggerEvents.OnEnterRunMode += new _dispDebuggerEvents_OnEnterRunModeEventHandler(this.OnEnterRunMode); _debuggerEvents.OnExceptionNotHandled += new _dispDebuggerEvents_OnExceptionNotHandledEventHandler(this.OnExceptionNotHandled); _debuggerEvents.OnExceptionThrown += new _dispDebuggerEvents_OnExceptionThrownEventHandler(this.OnExceptionThrown); _commandEvents.AfterExecute += new _dispCommandEvents_AfterExecuteEventHandler(this.AfterExecute); _commandEvents.BeforeExecute += new _dispCommandEvents_BeforeExecuteEventHandler(this.BeforeExecute); _buildEvents.OnBuildBegin += new _dispBuildEvents_OnBuildBeginEventHandler(this.OnBuildBegin); _buildEvents.OnBuildDone += new _dispBuildEvents_OnBuildDoneEventHandler(this.OnBuildDone); _buildEvents.OnBuildProjConfigBegin += new _dispBuildEvents_OnBuildProjConfigBeginEventHandler(this.OnBuildProjConfigBegin); _buildEvents.OnBuildProjConfigDone += new _dispBuildEvents_OnBuildProjConfigDoneEventHandler(this.OnBuildProjConfigDone); _miscFilesEvents.ItemAdded += new _dispProjectItemsEvents_ItemAddedEventHandler(this.MiscFilesEvents_ItemAdded); _miscFilesEvents.ItemRemoved += new _dispProjectItemsEvents_ItemRemovedEventHandler(this.MiscFilesEvents_ItemRemoved); _miscFilesEvents.ItemRenamed += new _dispProjectItemsEvents_ItemRenamedEventHandler(this.MiscFilesEvents_ItemRenamed); _solutionItemsEvents.ItemAdded += new _dispProjectItemsEvents_ItemAddedEventHandler(this.SolutionItemsEvents_ItemAdded); _solutionItemsEvents.ItemRemoved += new _dispProjectItemsEvents_ItemRemovedEventHandler(this.SolutionItemsEvents_ItemRemoved); _solutionItemsEvents.ItemRenamed += new _dispProjectItemsEvents_ItemRenamedEventHandler(this.SolutionItemsEvents_ItemRenamed); _globalProjectItemsEvents.ItemAdded += new _dispProjectItemsEvents_ItemAddedEventHandler(GlobalProjectItemsEvents_ItemAdded); _globalProjectItemsEvents.ItemRemoved += new _dispProjectItemsEvents_ItemRemovedEventHandler(GlobalProjectItemsEvents_ItemRemoved); _globalProjectItemsEvents.ItemRenamed += new _dispProjectItemsEvents_ItemRenamedEventHandler(GlobalProjectItemsEvents_ItemRenamed); _globalProjectsEvents.ItemAdded += new _dispProjectsEvents_ItemAddedEventHandler(GlobalProjectsEvents_ItemAdded); _globalProjectsEvents.ItemRemoved += new _dispProjectsEvents_ItemRemovedEventHandler(GlobalProjectsEvents_ItemRemoved); _globalProjectsEvents.ItemRenamed += new _dispProjectsEvents_ItemRenamedEventHandler(GlobalProjectsEvents_ItemRenamed); _textDocumentKeyPressEvents.AfterKeyPress += new _dispTextDocumentKeyPressEvents_AfterKeyPressEventHandler(AfterKeyPress); _textDocumentKeyPressEvents.BeforeKeyPress += new _dispTextDocumentKeyPressEvents_BeforeKeyPressEventHandler(BeforeKeyPress); _codeModelEvents.ElementAdded += new _dispCodeModelEvents_ElementAddedEventHandler(ElementAdded); _codeModelEvents.ElementChanged += new _dispCodeModelEvents_ElementChangedEventHandler(ElementChanged); _codeModelEvents.ElementDeleted += new _dispCodeModelEvents_ElementDeletedEventHandler(ElementDeleted); _windowVisibilityEvents.WindowHiding += new _dispWindowVisibilityEvents_WindowHidingEventHandler(WindowHiding); _windowVisibilityEvents.WindowShowing += new _dispWindowVisibilityEvents_WindowShowingEventHandler(WindowShowing); _debuggerExpressionEvaluationEvents.OnExpressionEvaluation += new _dispDebuggerExpressionEvaluationEvents_OnExpressionEvaluationEventHandler(OnExpressionEvaluation); _debuggerProcessEvents.OnProcessStateChanged += new _dispDebuggerProcessEvents_OnProcessStateChangedEventHandler(OnProcessStateChanged); _publishEvents.OnPublishBegin += new _dispPublishEvents_OnPublishBeginEventHandler(OnPublishBegin); _publishEvents.OnPublishDone += new _dispPublishEvents_OnPublishDoneEventHandler(OnPublishDone); }