void HandleWorkspaceChanged(object sender, Microsoft.CodeAnalysis.WorkspaceChangeEventArgs e) { if (e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.DocumentChanged && e.DocumentId == analysisDocument) { OnDocumentParsed(EventArgs.Empty); } }
void HandleRoslynProjectChange(object sender, Microsoft.CodeAnalysis.WorkspaceChangeEventArgs e) { if (e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectChanged || e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectAdded || e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectRemoved || e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectReloaded) { StartReparseThread(); } }
private void OnWorkspaceChanged(object sender, WorkspaceChangesEventArgs e) { Task.Run(async() => { await Task.Delay(2000); lock (DisposedLock) { if (!Disposed) { Invalidate(); } } }).FireAndForget(); }
private void OnWorkspaceChanged(object sender, WorkspaceChangesEventArgs e) { Task.Run(() => { object obj = DisposedLock; lock (obj) { if (!Disposed) { System.Threading.Thread.Sleep(2000); Invalidate(); } } }).FireAndForget(); }
void HandleRoslynProjectChange(object sender, Microsoft.CodeAnalysis.WorkspaceChangeEventArgs e) { if (e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectReloaded && analysisDocument?.ProjectId == e.ProjectId) { var doc = e.NewSolution.GetProject(e.ProjectId)?.Documents.FirstOrDefault(d => d.FilePath == FileName); if (doc?.Id != analysisDocument) { UpdateDocumentId(doc?.Id); } } if (e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectChanged || e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectAdded || e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectRemoved || e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.ProjectReloaded) { StartReparseThread(); } }
void HandleRoslynProjectReload(object sender, Microsoft.CodeAnalysis.WorkspaceChangeEventArgs e) { StartReparseThread(); }