Esempio n. 1
0
        private void ImportsMonitor_ImportsChanged(object sender, ImportsMonitor.ImportsChangedEventArgs e)
        {
            Trace.TraceInformation($"{nameof(ImportsHierarchyNodeManager)}.{nameof(ImportsHierarchyNodeManager.ImportsMonitor_ImportsChanged)}");

            if (this.vsSolution == null)
            {
                lock (this)
                {
                    if (this.vsSolution == null)
                    {
                        this.vsSolution       = (IVsSolution)this.sp.GetService(typeof(SVsSolution));
                        this.currentHierarchy = new ImportsHierarchyNode(this.package);
                        this.vsSolution.AddVirtualProject(
                            this.currentHierarchy,
                            (uint)(__VSADDVPFLAGS.ADDVP_AddToProjectWindow
                                   | __VSADDVPFLAGS.ADDVP_ExcludeFromBuild
                                   | __VSADDVPFLAGS.ADDVP_ExcludeFromCfgUI
                                   | __VSADDVPFLAGS.ADDVP_ExcludeFromDebugLaunch
                                   | __VSADDVPFLAGS.ADDVP_ExcludeFromDeploy
                                   | __VSADDVPFLAGS.ADDVP_ExcludeFromEnumOutputs
                                   | __VSADDVPFLAGS.ADDVP_ExcludeFromSCC));
                    }
                }
            }

            this.currentHierarchy.UpdateItems(e.ImportPaths);
        }
Esempio n. 2
0
        private void SolutionMonitor_SolutionClosing(object sender, EventArgs e)
        {
            Trace.TraceInformation($"{nameof(ImportsHierarchyNodeManager)}.{nameof(ImportsHierarchyNodeManager.SolutionMonitor_SolutionClosing)}");

            lock (this)
            {
                this.RemoveCurrentNode();
                this.vsSolution       = null;
                this.currentHierarchy = null;
            }
        }