public void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if (hierarchy == null || _hierarchies.ContainsKey(hierarchy))
            {
                return;
            }

            if (_objectManagerCookie == 0)
            {
                IVsObjectManager2 objManager =
                    _provider.GetService(typeof(SVsObjectManager)) as IVsObjectManager2;

                if (null == objManager)
                {
                    return;
                }

                ErrorHandler.ThrowOnFailure(
                    objManager.RegisterSimpleLibrary(_library, out _objectManagerCookie));
            }

            HierarchyListener listener = new HierarchyListener(hierarchy);

            listener.ItemAdded   += OnFileChanged;
            listener.ItemDeleted += OnDeleteFile;

            listener.StartListening(true);

            _hierarchies.Add(hierarchy, listener);
            RegisterForRDTEvents();
        }
示例#2
0
        public void InitListener()
        {
            _listener = new HierarchyListener(_hierarchy);

            _listener.ItemAdded   += FileAdded;
            _listener.ItemDeleted += FileDeleted;

            _listener.StartListening(true);
        }