public TrackingSession(Workspace workspace, IEditAndContinueWorkspaceService encService) { _workspace = workspace; _trackingSpans = new Dictionary <DocumentId, ImmutableArray <ActiveStatementTrackingSpan> >(); _cancellationSource = new CancellationTokenSource(); _encService = encService; _workspace.DocumentOpened += DocumentOpened; _workspace.DocumentClosed += DocumentClosed; }
public VsReadOnlyDocumentTracker(IEditAndContinueWorkspaceService encService, IVsEditorAdaptersFactoryService adapters) : base(assertIsForeground: true) { Debug.Assert(encService.DebuggingSession != null); _encService = encService; _adapters = adapters; _workspace = encService.DebuggingSession.InitialSolution.Workspace; _workspace.DocumentOpened += OnDocumentOpened; UpdateWorkspaceDocuments(); }
public VsReadOnlyDocumentTracker(IEditAndContinueWorkspaceService encService, IVsEditorAdaptersFactoryService adapters) : base(assertIsForeground: true) { Debug.Assert(encService.DebuggingSession != null); _encService = encService; _adapters = adapters; _workspace = encService.DebuggingSession.InitialSolution.Workspace; _workspace.DocumentOpened += OnDocumentOpened; UpdateWorkspaceDocuments(); }
public InlineRenameSession( InlineRenameService renameService, Workspace workspace, SnapshotSpan triggerSpan, IInlineRenameInfo renameInfo, IWaitIndicator waitIndicator, ITextBufferAssociatedViewService textBufferAssociatedViewService, ITextBufferFactoryService textBufferFactoryService, IEnumerable <IRefactorNotifyService> refactorNotifyServices, IAsynchronousOperationListener asyncListener) : base(assertIsForeground: true) { // This should always be touching a symbol since we verified that upon invocation _renameInfo = renameInfo; _triggerDocument = triggerSpan.Snapshot.GetOpenDocumentInCurrentContextWithChanges(); if (_triggerDocument == null) { throw new InvalidOperationException(EditorFeaturesResources.The_triggerSpan_is_not_included_in_the_given_workspace); } _inlineRenameSessionDurationLogBlock = Logger.LogBlock(FunctionId.Rename_InlineSession, CancellationToken.None); _workspace = workspace; _workspace.WorkspaceChanged += OnWorkspaceChanged; _textBufferFactoryService = textBufferFactoryService; _textBufferAssociatedViewService = textBufferAssociatedViewService; _textBufferAssociatedViewService.SubjectBuffersConnected += OnSubjectBuffersConnected; _renameService = renameService; _waitIndicator = waitIndicator; _refactorNotifyServices = refactorNotifyServices; _asyncListener = asyncListener; _triggerView = textBufferAssociatedViewService.GetAssociatedTextViews(triggerSpan.Snapshot.TextBuffer).FirstOrDefault(v => v.HasAggregateFocus) ?? textBufferAssociatedViewService.GetAssociatedTextViews(triggerSpan.Snapshot.TextBuffer).First(); _optionSet = renameInfo.ForceRenameOverloads ? workspace.Options.WithChangedOption(RenameOptions.RenameOverloads, true) : workspace.Options; this.ReplacementText = triggerSpan.GetText(); _baseSolution = _triggerDocument.Project.Solution; this.UndoManager = workspace.Services.GetService <IInlineRenameUndoManager>(); _editAndContinueWorkspaceService = workspace.Services.GetService <IEditAndContinueWorkspaceService>(); _editAndContinueWorkspaceService.BeforeDebuggingStateChanged += OnBeforeDebuggingStateChanged; InitializeOpenBuffers(triggerSpan); }
public ReadOnlyDocumentTracker(IEditAndContinueWorkspaceService encService, Action<DocumentId, SessionReadOnlyReason, ProjectReadOnlyReason> onReadOnlyDocumentEditAttempt) : base(assertIsForeground: true) { Debug.Assert(encService.DebuggingSession != null); _encService = encService; _readOnlyRegions = new Dictionary<DocumentId, IReadOnlyRegion>(); _workspace = encService.DebuggingSession.InitialSolution.Workspace; _onReadOnlyDocumentEditAttempt = onReadOnlyDocumentEditAttempt; _workspace.DocumentClosed += OnDocumentClosed; _workspace.DocumentOpened += OnDocumentOpened; foreach (var documentId in _workspace.GetOpenDocumentIds()) { TrackDocument(documentId); } }
public ReadOnlyDocumentTracker(IEditAndContinueWorkspaceService encService, Action <DocumentId, SessionReadOnlyReason, ProjectReadOnlyReason> onReadOnlyDocumentEditAttempt) : base(assertIsForeground: true) { Debug.Assert(encService.DebuggingSession != null); _encService = encService; _readOnlyRegions = new Dictionary <DocumentId, IReadOnlyRegion>(); _workspace = encService.DebuggingSession.InitialSolution.Workspace; _onReadOnlyDocumentEditAttempt = onReadOnlyDocumentEditAttempt; _workspace.DocumentClosed += OnDocumentClosed; _workspace.DocumentOpened += OnDocumentOpened; foreach (var documentId in _workspace.GetOpenDocumentIds()) { TrackDocument(documentId); } }
public InlineRenameSession( InlineRenameService renameService, Workspace workspace, SnapshotSpan triggerSpan, IInlineRenameInfo renameInfo, IWaitIndicator waitIndicator, ITextBufferAssociatedViewService textBufferAssociatedViewService, ITextBufferFactoryService textBufferFactoryService, IEnumerable<IRefactorNotifyService> refactorNotifyServices, IAsynchronousOperationListener asyncListener) : base(assertIsForeground: true) { // This should always be touching a symbol since we verified that upon invocation _renameInfo = renameInfo; _triggerDocument = triggerSpan.Snapshot.GetOpenDocumentInCurrentContextWithChanges(); if (_triggerDocument == null) { throw new InvalidOperationException(EditorFeaturesResources.The_triggerSpan_is_not_included_in_the_given_workspace); } _inlineRenameSessionDurationLogBlock = Logger.LogBlock(FunctionId.Rename_InlineSession, CancellationToken.None); _workspace = workspace; _workspace.WorkspaceChanged += OnWorkspaceChanged; _textBufferFactoryService = textBufferFactoryService; _textBufferAssociatedViewService = textBufferAssociatedViewService; _textBufferAssociatedViewService.SubjectBuffersConnected += OnSubjectBuffersConnected; _renameService = renameService; _waitIndicator = waitIndicator; _refactorNotifyServices = refactorNotifyServices; _asyncListener = asyncListener; _triggerView = textBufferAssociatedViewService.GetAssociatedTextViews(triggerSpan.Snapshot.TextBuffer).FirstOrDefault(v => v.HasAggregateFocus) ?? textBufferAssociatedViewService.GetAssociatedTextViews(triggerSpan.Snapshot.TextBuffer).First(); _optionSet = renameInfo.ForceRenameOverloads ? workspace.Options.WithChangedOption(RenameOptions.RenameOverloads, true) : workspace.Options; this.ReplacementText = triggerSpan.GetText(); _baseSolution = _triggerDocument.Project.Solution; this.UndoManager = workspace.Services.GetService<IInlineRenameUndoManager>(); _editAndContinueWorkspaceService = workspace.Services.GetService<IEditAndContinueWorkspaceService>(); _editAndContinueWorkspaceService.BeforeDebuggingStateChanged += OnBeforeDebuggingStateChanged; InitializeOpenBuffers(triggerSpan); }
public GlassTestsHotReloadService(HostWorkspaceServices services, IManagedHotReloadService debuggerService) { _encService = services.GetRequiredService <IEditAndContinueWorkspaceService>(); _debuggerService = debuggerService; }
public VisualStudioActiveStatementTracker(VisualStudioWorkspace workspace) { _workspace = workspace; _encService = workspace.Services.GetRequiredService <IEditAndContinueWorkspaceService>(); _activeStatementTrackingService = workspace.Services.GetRequiredService <IActiveStatementTrackingService>(); }
internal VsENCRebuildableProjectImpl(AbstractProject project) { _vsProject = project; _encService = _vsProject.VisualStudioWorkspace.Services.GetService<IEditAndContinueWorkspaceService>(); _trackingService = _vsProject.VisualStudioWorkspace.Services.GetService<IActiveStatementTrackingService>(); _notifications = _vsProject.VisualStudioWorkspace.Services.GetService<INotificationService>(); _debugEncNotify = (IDebugEncNotify)project.ServiceProvider.GetService(typeof(ShellInterop.SVsShellDebugger)); var componentModel = (IComponentModel)project.ServiceProvider.GetService(typeof(SComponentModel)); _diagnosticProvider = componentModel.GetService<EditAndContinueDiagnosticUpdateSource>(); _editorAdaptersFactoryService = componentModel.GetService<IVsEditorAdaptersFactoryService>(); Debug.Assert(_encService != null); Debug.Assert(_trackingService != null); Debug.Assert(_diagnosticProvider != null); Debug.Assert(_editorAdaptersFactoryService != null); }
public VisualStudioManagedModuleUpdateProvider(VisualStudioWorkspace workspace) { _encService = workspace.Services.GetRequiredService <IEditAndContinueWorkspaceService>(); }
public VisualStudioDebugStateChangeListener(VisualStudioWorkspace workspace, VisualStudioDebuggeeModuleMetadataProvider moduleMetadataProvider) { _moduleMetadataProvider = moduleMetadataProvider; _debuggingService = workspace.Services.GetRequiredService <IDebuggingWorkspaceService>(); _encService = workspace.Services.GetRequiredService <IEditAndContinueWorkspaceService>(); }