/// <summary> /// Add an event handler for the rename project item event. /// </summary> /// <seealso cref="http://www.mztools.com/articles/2005/MZ2005009.aspx">HOWTO: Getting Project and ProjectItem events from a Visual Studio .NET add-in.</seealso> protected override void OnAfterStartupComplete() { this.miscProjectItemsEvents = this.Application.Events.MiscFilesEvents; if (this.miscProjectItemsEvents != null) { this.miscProjectItemsEvents.ItemRenamed += new _dispProjectItemsEvents_ItemRenamedEventHandler(Commands.FileGroupRenamer.OnRename); } this.csharpProjectItemsEvents = this.Application.Events.GetObject("CSharpProjectItemsEvents") as ProjectItemsEvents; if (this.csharpProjectItemsEvents != null) { this.csharpProjectItemsEvents.ItemRenamed += new _dispProjectItemsEvents_ItemRenamedEventHandler(Commands.FileGroupRenamer.OnRename); } }
public Watcher() { if (Instance.Solution != null) { Instance.Solution.AdviseSolutionEvents(this, out mSolutionCookie); } mDocumentEvents = Instance.DTE2.Events.DocumentEvents; mDocumentEvents.DocumentSaved += OnDocumentSaved; mSolutionItemsEvents = Instance.DTE2.Events.SolutionItemsEvents; mSolutionItemsEvents.ItemAdded += OnItemAdded; mSolutionItemsEvents.ItemRemoved += OnItemRemoved; }
public AddInEventHandler(DTE _dte) { simpleThreadMessenger = new SimpleThreadMessenger(this); dte = _dte; var events = dte.Events as Events; buildEvents = (EnvDTE.BuildEvents)events.BuildEvents; buildEvents.OnBuildBegin += new _dispBuildEvents_OnBuildBeginEventHandler(buildEvents_OnBuildBegin); buildEvents.OnBuildProjConfigBegin += new _dispBuildEvents_OnBuildProjConfigBeginEventHandler(this.OnBuildProjConfigBegin); buildEvents.OnBuildDone += new _dispBuildEvents_OnBuildDoneEventHandler(this.buildEvents_OnBuildDone); documentEvents = (EnvDTE.DocumentEvents)events.get_DocumentEvents(null); documentEvents.DocumentSaved += new _dispDocumentEvents_DocumentSavedEventHandler(this.DocumentSaved); projectItemsEvents = events.SolutionItemsEvents; projectItemsEvents.ItemAdded += new _dispProjectItemsEvents_ItemAddedEventHandler(this.ProjectItemsEvents_ItemAdded); projectItemsEvents.ItemRemoved += new _dispProjectItemsEvents_ItemRemovedEventHandler(this.ProjectItemsEvents_ItemRemoved); projectItemsEvents.ItemRenamed += new _dispProjectItemsEvents_ItemRenamedEventHandler(this.ProjectItemsEvents_ItemRenamed); solutionEvents = (SolutionEvents)events.SolutionEvents; solutionEvents.ProjectAdded += new _dispSolutionEvents_ProjectAddedEventHandler(this.SolutionEvents_ProjectAdded); solutionEvents.ProjectRemoved += new _dispSolutionEvents_ProjectRemovedEventHandler(this.SolutionEvents_ProjectRemoved); solutionEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(SolutionEvents_Opened); solutionEvents.AfterClosing += new _dispSolutionEvents_AfterClosingEventHandler(SolutionEvents_AfterClosing); const string debugCommandsGUID = "{5EFC7975-14BC-11CF-9B2B-00AA00573819}"; debugStartEvents = events.get_CommandEvents(debugCommandsGUID, 295); debugStartEvents.BeforeExecute += new _dispCommandEvents_BeforeExecuteEventHandler(debugStartEvents_BeforeExecute); debugStartWithoutDebuggingEvents = events.get_CommandEvents(debugCommandsGUID, 368); debugStartWithoutDebuggingEvents.BeforeExecute += new _dispCommandEvents_BeforeExecuteEventHandler(debugStartWithoutDebuggingEvents_BeforeExecute); dispId_VCFileConfiguration_ExcludedFromBuild = GetPropertyDispId(typeof(VCFileConfiguration), "ExcludedFromBuild"); dispId_VCCLCompilerTool_UsePrecompiledHeader = GetPropertyDispId(typeof(VCCLCompilerTool), "UsePrecompiledHeader"); dispId_VCCLCompilerTool_PrecompiledHeaderThrough = GetPropertyDispId(typeof(VCCLCompilerTool), "PrecompiledHeaderThrough"); dispId_VCCLCompilerTool_PreprocessorDefinitions = GetPropertyDispId(typeof(VCCLCompilerTool), "PreprocessorDefinitions"); dispId_VCCLCompilerTool_AdditionalIncludeDirectories = GetPropertyDispId(typeof(VCCLCompilerTool), "AdditionalIncludeDirectories"); RegisterVCProjectEngineEvents(); appWrapperProcess = new System.Diagnostics.Process(); appWrapperProcess.StartInfo.FileName = VSPackage.appWrapperPath; appWrapperThread = new System.Threading.Thread(new System.Threading.ThreadStart(ListenForRequests)); appWrapperThread.Name = "QtAppWrapperListener"; appWrapperThread.Start(); }
public void DetachFileEventListeners() { try { //IVsHierarchyEvents // ((Events2)dte.Events).SolutionEvents. projItemsEvents = (EnvDTE.ProjectItemsEvents) this.DTE.Events.GetObject("CSharpProjectItemsEvents"); projItemsEvents.ItemAdded -= ProjItemAdded; projItemsEvents.ItemRemoved -= ProjItemRemoved; projItemsEvents.ItemRenamed -= ProjItemRenamed; docEvents = (EnvDTE.DocumentEvents) this.DTE.Events.DocumentEvents; docEvents.DocumentSaved -= DocEventsDocSaved; } catch (System.Exception ex) { LogService.Exception("Error unregistering file event handlers", ex); } }
public AddInEventHandler(DTE _dte) { simpleThreadMessenger = new SimpleThreadMessenger(this); dte = _dte; Events2 events = dte.Events as Events2; buildEvents = (EnvDTE.BuildEvents)events.BuildEvents; buildEvents.OnBuildBegin += new _dispBuildEvents_OnBuildBeginEventHandler(buildEvents_OnBuildBegin); buildEvents.OnBuildProjConfigBegin += new _dispBuildEvents_OnBuildProjConfigBeginEventHandler(this.OnBuildProjConfigBegin); buildEvents.OnBuildDone += new _dispBuildEvents_OnBuildDoneEventHandler(this.buildEvents_OnBuildDone); documentEvents = (EnvDTE.DocumentEvents)events.get_DocumentEvents(null); documentEvents.DocumentSaved += new _dispDocumentEvents_DocumentSavedEventHandler(this.DocumentSaved); projectItemsEvents = (ProjectItemsEvents)events.ProjectItemsEvents; projectItemsEvents.ItemAdded += new _dispProjectItemsEvents_ItemAddedEventHandler(this.ProjectItemsEvents_ItemAdded); projectItemsEvents.ItemRemoved += new _dispProjectItemsEvents_ItemRemovedEventHandler(this.ProjectItemsEvents_ItemRemoved); projectItemsEvents.ItemRenamed += new _dispProjectItemsEvents_ItemRenamedEventHandler(this.ProjectItemsEvents_ItemRenamed); solutionEvents = (SolutionEvents)events.SolutionEvents; solutionEvents.ProjectAdded += new _dispSolutionEvents_ProjectAddedEventHandler(this.SolutionEvents_ProjectAdded); solutionEvents.ProjectRemoved += new _dispSolutionEvents_ProjectRemovedEventHandler(this.SolutionEvents_ProjectRemoved); solutionEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(SolutionEvents_Opened); solutionEvents.AfterClosing += new _dispSolutionEvents_AfterClosingEventHandler(SolutionEvents_AfterClosing); const string debugCommandsGUID = "{5EFC7975-14BC-11CF-9B2B-00AA00573819}"; debugStartEvents = events.get_CommandEvents(debugCommandsGUID, 295); debugStartEvents.BeforeExecute += new _dispCommandEvents_BeforeExecuteEventHandler(debugStartEvents_BeforeExecute); debugStartWithoutDebuggingEvents = events.get_CommandEvents(debugCommandsGUID, 368); debugStartWithoutDebuggingEvents.BeforeExecute += new _dispCommandEvents_BeforeExecuteEventHandler(debugStartWithoutDebuggingEvents_BeforeExecute); dispId_VCFileConfiguration_ExcludedFromBuild = GetPropertyDispId(typeof(VCFileConfiguration), "ExcludedFromBuild"); dispId_VCCLCompilerTool_UsePrecompiledHeader = GetPropertyDispId(typeof(VCCLCompilerTool), "UsePrecompiledHeader"); dispId_VCCLCompilerTool_PrecompiledHeaderThrough = GetPropertyDispId(typeof(VCCLCompilerTool), "PrecompiledHeaderThrough"); dispId_VCCLCompilerTool_PreprocessorDefinitions = GetPropertyDispId(typeof(VCCLCompilerTool), "PreprocessorDefinitions"); dispId_VCCLCompilerTool_AdditionalIncludeDirectories = GetPropertyDispId(typeof(VCCLCompilerTool), "AdditionalIncludeDirectories"); RegisterVCProjectEngineEvents(); if (Connect.Instance().AppWrapperPath == null) { Messages.DisplayCriticalErrorMessage("QtAppWrapper can't be found in the installation directory."); } else { appWrapperProcess = new System.Diagnostics.Process(); appWrapperProcess.StartInfo.FileName = Connect.Instance().AppWrapperPath; } appWrapperThread = new System.Threading.Thread(new System.Threading.ThreadStart(ListenForRequests)); appWrapperThread.Name = "QtAppWrapperListener"; appWrapperThread.Start(); }
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); }
public void DetachFileEventListeners() { try { //IVsHierarchyEvents // ((Events2)dte.Events).SolutionEvents. projItemsEvents = (EnvDTE.ProjectItemsEvents)this.DTE.Events.GetObject("CSharpProjectItemsEvents"); projItemsEvents.ItemAdded -= ProjItemAdded; projItemsEvents.ItemRemoved -= ProjItemRemoved; projItemsEvents.ItemRenamed -= ProjItemRenamed; docEvents = (EnvDTE.DocumentEvents)this.DTE.Events.DocumentEvents; docEvents.DocumentSaved -= DocEventsDocSaved; } catch (System.Exception ex) { LogService.Exception("Error unregistering file event handlers", ex); } }