Inheritance: IWorkspaceService
Example #1
0
        public EditorDocumentManagerBase(
            ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher,
            JoinableTaskContext joinableTaskContext,
            FileChangeTrackerFactory fileChangeTrackerFactory)
        {
            if (projectSnapshotManagerDispatcher is null)
            {
                throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher));
            }

            if (joinableTaskContext is null)
            {
                throw new ArgumentNullException(nameof(joinableTaskContext));
            }

            if (fileChangeTrackerFactory is null)
            {
                throw new ArgumentNullException(nameof(fileChangeTrackerFactory));
            }

            ProjectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher;
            JoinableTaskContext       = joinableTaskContext;
            _fileChangeTrackerFactory = fileChangeTrackerFactory;

            _documents           = new Dictionary <DocumentKey, EditorDocument>();
            _documentsByFilePath = new Dictionary <string, List <DocumentKey> >(FilePathComparer.Instance);

            Lock = new object();
        }
        public VisualStudioEditorDocumentManager(
            ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher,
            JoinableTaskContext joinableTaskContext,
            FileChangeTrackerFactory fileChangeTrackerFactory,
            IVsRunningDocumentTable runningDocumentTable,
            IVsEditorAdaptersFactoryService editorAdaptersFactory)
            : base(projectSnapshotManagerDispatcher, joinableTaskContext, fileChangeTrackerFactory)
        {
            if (runningDocumentTable is null)
            {
                throw new ArgumentNullException(nameof(runningDocumentTable));
            }

            if (editorAdaptersFactory is null)
            {
                throw new ArgumentNullException(nameof(editorAdaptersFactory));
            }

            if (fileChangeTrackerFactory is null)
            {
                throw new ArgumentNullException(nameof(fileChangeTrackerFactory));
            }

            _runningDocumentTable  = (IVsRunningDocumentTable4)runningDocumentTable;
            _editorAdaptersFactory = editorAdaptersFactory;

            _documentsByCookie = new Dictionary <uint, List <DocumentKey> >();
            _cookiesByDocument = new Dictionary <DocumentKey, uint>();
        }
        public EditorDocumentManagerBase(
            ForegroundDispatcher foregroundDispatcher,
            FileChangeTrackerFactory fileChangeTrackerFactory)
        {
            if (foregroundDispatcher == null)
            {
                throw new ArgumentNullException(nameof(foregroundDispatcher));
            }

            if (fileChangeTrackerFactory == null)
            {
                throw new ArgumentNullException(nameof(fileChangeTrackerFactory));
            }

            _foregroundDispatcher     = foregroundDispatcher;
            _fileChangeTrackerFactory = fileChangeTrackerFactory;

            _documents           = new Dictionary <DocumentKey, EditorDocument>();
            _documentsByFilePath = new Dictionary <string, List <DocumentKey> >(FilePathComparer.Instance);
            _lock = new object();
        }
Example #4
0
        public VisualStudioEditorDocumentManager(
            ForegroundDispatcher foregroundDispatcher,
            FileChangeTrackerFactory fileChangeTrackerFactory,
            IVsRunningDocumentTable runningDocumentTable,
            IVsEditorAdaptersFactoryService editorAdaptersFactory)
            : base(foregroundDispatcher, fileChangeTrackerFactory)
        {
            if (runningDocumentTable == null)
            {
                throw new ArgumentNullException(nameof(runningDocumentTable));
            }

            if (editorAdaptersFactory == null)
            {
                throw new ArgumentNullException(nameof(editorAdaptersFactory));
            }

            if (foregroundDispatcher == null)
            {
                throw new ArgumentNullException(nameof(foregroundDispatcher));
            }

            if (fileChangeTrackerFactory == null)
            {
                throw new ArgumentNullException(nameof(fileChangeTrackerFactory));
            }

            _runningDocumentTable  = (IVsRunningDocumentTable4)runningDocumentTable;
            _editorAdaptersFactory = editorAdaptersFactory;

            var hr = runningDocumentTable.AdviseRunningDocTableEvents(new RunningDocumentTableEventSink(this), out _);

            Marshal.ThrowExceptionForHR(hr);

            _documentsByCookie = new Dictionary <uint, List <DocumentKey> >();
            _cookiesByDocument = new Dictionary <DocumentKey, uint>();
        }