コード例 #1
0
        private void InitializeEditor()
        {
            _editCount++;

            if (_editCount == 1)
            {
                Debug.Assert(_invisibleEditor == null);

                _invisibleEditor = Workspace.OpenInvisibleEditor(GetDocumentId());
                CodeModelService.AttachFormatTrackingToBuffer(_invisibleEditor.TextBuffer);
            }
        }
コード例 #2
0
        internal override void Shutdown()
        {
            if (_invisibleEditor != null)
            {
                // we are shutting down, so do not worry about editCount. If the editor is still alive, dispose it.
                CodeModelService.DetachFormatTrackingToBuffer(_invisibleEditor.TextBuffer);
                _invisibleEditor.Dispose();
                _invisibleEditor = null;
            }

            base.Shutdown();
        }
コード例 #3
0
        private void ReleaseEditor()
        {
            Debug.Assert(_editCount >= 1);

            _editCount--;
            if (_editCount == 0)
            {
                Debug.Assert(_invisibleEditor != null);
                CodeModelService.DetachFormatTrackingToBuffer(_invisibleEditor.TextBuffer);

                _invisibleEditor.Dispose();
                _invisibleEditor = null;
            }
        }