Exemple #1
0
 void HandleWorkspaceChanged(object sender, Microsoft.CodeAnalysis.WorkspaceChangeEventArgs e)
 {
     if (e.Kind == Microsoft.CodeAnalysis.WorkspaceChangeKind.DocumentChanged && e.DocumentId == analysisDocument)
     {
         OnDocumentParsed(EventArgs.Empty);
     }
 }
Exemple #2
0
 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();
 }
Exemple #5
0
        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();
            }
        }
Exemple #6
0
 void HandleRoslynProjectReload(object sender, Microsoft.CodeAnalysis.WorkspaceChangeEventArgs e)
 {
     StartReparseThread();
 }