Beispiel #1
0
        public SolutionWatcher()
        {
            if (Common.Instance.Solution != null)
            {
                Common.Instance.Solution.AdviseSolutionEvents(this, out mSolutionCookie);
            }

            mFileHistory.MaxHistory = Common.Instance.Settings.MaxFileHistory;

            mWindowEvents = Common.Instance.DTE2.Events.WindowEvents;
            mWindowEvents.WindowActivated += OnWindowActivated;
            mWindowEvents.WindowCreated   += OnWindowCreated;

            mDocumentEvents = Common.Instance.DTE2.Events.DocumentEvents;
            mDocumentEvents.DocumentOpening += OnDocumentOpening;
            mDocumentEvents.DocumentOpened  += OnDocumentOpened;
            mDocumentEvents.DocumentSaved   += OnDocumentSaved;

            mSolutionItemsEvents              = Common.Instance.DTE2.Events.SolutionItemsEvents;
            mSolutionItemsEvents.ItemAdded   += OnItemAdded;
            mSolutionItemsEvents.ItemRemoved += OnItemRemoved;
            mSolutionItemsEvents.ItemRenamed += OnItemRenamed;

            RefreshOpenHistory();

            OnFilesChanged += RefreshSymbolDatabase;
        }
Beispiel #2
0
        private void RegisterToDTEEvents()
        {
            docEvents.DocumentOpening += DocumentEvents_DocumentOpening;
            docEvents.DocumentSaved   += DocumentEvents_DocumentSaved;
            docEvents.DocumentClosing += DocEvents_DocumentClosing;

            buildEvents.OnBuildBegin += BuildEvents_OnBuildBegin;
            buildEvents.OnBuildDone  += BuildEvents_OnBuildDone;

            EnvDTE80.Events2 events2 = dte.Events as EnvDTE80.Events2;
            if (events2 != null)
            {
                this.projectItemsEvents              = events2.ProjectItemsEvents;
                this.projectItemsEvents.ItemAdded   += ProjectItemsEvents_ItemAdded;
                this.projectItemsEvents.ItemRemoved += ProjectItemsEvents_ItemRemoved;
                this.projectItemsEvents.ItemRenamed += ProjectItemsEvents_ItemRenamed;
            }

            this.csharpProjectItemsEvents = dte.Events.GetObject("CSharpProjectItemsEvents") as EnvDTE.ProjectItemsEvents;
            if (this.csharpProjectItemsEvents != null)
            {
                this.csharpProjectItemsEvents.ItemAdded   += ProjectItemsEvents_ItemAdded;
                this.csharpProjectItemsEvents.ItemRemoved += ProjectItemsEvents_ItemRemoved;
                this.csharpProjectItemsEvents.ItemRenamed += ProjectItemsEvents_ItemRenamed;
            }
        }
        public SolutionWatcher()
        {
            if (Common.Instance.Solution != null)
            {
                Common.Instance.Solution.AdviseSolutionEvents(this, out mSolutionCookie);
            }

            mFileHistory.MaxHistory = Common.Instance.Settings.MaxFileHistory;

            mWindowEvents = Common.Instance.DTE2.Events.WindowEvents;
            mWindowEvents.WindowActivated += OnWindowActivated;
            mWindowEvents.WindowCreated += OnWindowCreated;

            mDocumentEvents = Common.Instance.DTE2.Events.DocumentEvents;
            mDocumentEvents.DocumentOpening += OnDocumentOpening;
            mDocumentEvents.DocumentOpened += OnDocumentOpened;
            mDocumentEvents.DocumentSaved += OnDocumentSaved;

            mSolutionItemsEvents = Common.Instance.DTE2.Events.SolutionItemsEvents;
            mSolutionItemsEvents.ItemAdded += OnItemAdded;
            mSolutionItemsEvents.ItemRemoved += OnItemRemoved;
            mSolutionItemsEvents.ItemRenamed += OnItemRenamed;

            RefreshOpenHistory();

            OnFilesChanged += RefreshSymbolDatabase;
        }
Beispiel #4
0
        public void populateDefaultVSComObjects()
        {
            VisualStudio_2010.Package           = this;
            VisualStudio_2010.ErrorListProvider = new ErrorListProvider(this);
            VisualStudio_2010.IVsUIShell        = this.getService <IVsUIShell>();
            VisualStudio_2010.DTE2 = this.getService <EnvDTE.DTE, EnvDTE80.DTE2>();
            VisualStudio_2010.OleMenuCommandService = this.getService <OleMenuCommandService>();

            Events = VisualStudio_2010.DTE2.Events;

            BuildEvents         = Events.BuildEvents;
            CommandEvents       = Events.CommandEvents;
            DebuggerEvents      = Events.DebuggerEvents;
            DocumentEvents      = Events.DocumentEvents;
            DTEEvents           = Events.DTEEvents;
            FindEvents          = Events.FindEvents;
            MiscFilesEvents     = Events.MiscFilesEvents;
            OutputWindowEvents  = Events.OutputWindowEvents;
            SelectionEvents     = Events.SelectionEvents;
            SolutionEvents      = Events.SolutionEvents;
            SolutionItemsEvents = Events.SolutionItemsEvents;
            TaskListEvents      = Events.TaskListEvents;
            TextEditorEvents    = Events.TextEditorEvents;
            WindowEvents        = Events.WindowEvents;



            BuildEvents.OnBuildBegin += (scope, action) => VisualStudio_2010.On_BuildBegin.invoke();
            BuildEvents.OnBuildDone  += (scope, action) => VisualStudio_2010.On_BuildDone.invoke();

            BuildEvents.OnBuildProjConfigDone +=
                (Project, ProjectConfig, Platform, SolutionConfig, Success) =>
            {
                //@"On OnBuildProjConfigDone: project: {0} , ProjectConfig: {1} , Platform: {2},  SolutionConfig: {3} , Success: {4}".debug(Project,ProjectConfig, Platform, SolutionConfig,Success);
                if (Success)
                {
                    VisualStudio_2010.On_ProjectBuild_OK.invoke(Project);
                }
                else
                {
                    VisualStudio_2010.On_ProjectBuild_Failed.invoke(Project);
                }
            };

            SolutionEvents.Opened += () => VisualStudio_2010.On_SolutionOpened.invoke();

            DocumentEvents.DocumentOpened  += (document) => VisualStudio_2010.on_DocumentOpened.invoke(document);
            DocumentEvents.DocumentClosing += (document) => VisualStudio_2010.on_DocumentClosing.invoke(document);
            DocumentEvents.DocumentSaved   += (document) => VisualStudio_2010.on_DocumentSaved.invoke(document);
            DocumentEvents.DocumentOpening += (documentPath, readOnly) => VisualStudio_2010.on_DocumentOpening.invoke(documentPath, readOnly);
            TextEditorEvents.LineChanged   += (startPoint, endPoint, hInt) => VisualStudio_2010.on_LineChanged.invoke(startPoint, endPoint);

            WindowEvents.WindowActivated += (windowGotFocus, windowLostFocus) => {
                if (windowGotFocus.Document.notNull())
                {
                    VisualStudio_2010.on_ActiveDocumentChange.invoke(windowGotFocus.Document);
                }
            };
        }
Beispiel #5
0
        private void ConnectEvents()
        {
            var events = (EnvDTE80.Events2)Dte.Events;

            _solutionEvents               = events.SolutionEvents;
            _solutionEvents.Opened       += Solution_Opened;
            _solutionEvents.AfterClosing += Solution_AfterClosing;

            _solutionEvents.ProjectAdded   += Solution_ContentChanged;
            _solutionEvents.ProjectRemoved += Solution_ContentChanged;
            _solutionEvents.ProjectRenamed += (item, newName) => Solution_ContentChanged(item);

            _projectItemsEvents              = events.ProjectItemsEvents;
            _projectItemsEvents.ItemAdded   += Solution_ContentChanged;
            _projectItemsEvents.ItemRemoved += Solution_ContentChanged;
            _projectItemsEvents.ItemRenamed += (item, newName) => Solution_ContentChanged(item);

            _solutionItemsEvents              = events.SolutionItemsEvents;
            _solutionItemsEvents.ItemAdded   += Solution_ContentChanged;
            _solutionItemsEvents.ItemRemoved += Solution_ContentChanged;
            _solutionItemsEvents.ItemRenamed += (item, newName) => Solution_ContentChanged(item);

            _miscFilesEvents              = events.MiscFilesEvents;
            _miscFilesEvents.ItemAdded   += Solution_ContentChanged;
            _miscFilesEvents.ItemRemoved += Solution_ContentChanged;
            _miscFilesEvents.ItemRenamed += (item, newName) => Solution_ContentChanged(item);

            _projectsEvents              = events.ProjectsEvents;
            _projectsEvents.ItemAdded   += Solution_ContentChanged;
            _projectsEvents.ItemRemoved += Solution_ContentChanged;
            _projectsEvents.ItemRenamed += (item, newName) => Solution_ContentChanged(item);

            _documentEvents = events.DocumentEvents;
            _documentEvents.DocumentOpened += DocumentEvents_DocumentOpened;
            _documentEvents.DocumentSaved  += DocumentEvents_DocumentSaved;

            if (Dte.Solution != null)
            {
                Solution_Opened();
            }
        }