Reload projects when analyzer dlls change

This commit is contained in:
Matt Parker
2025-11-28 22:26:39 +10:00
parent f4b1e9c1c0
commit e75d1319ef
7 changed files with 113 additions and 5 deletions

View File

@@ -1,4 +1,5 @@
using Microsoft.CodeAnalysis.Shared.TestHooks;
using System.Collections.Immutable;
using Microsoft.CodeAnalysis.Shared.TestHooks;
using Microsoft.CodeAnalysis.Threading;
using Microsoft.VisualStudio.SolutionPersistence.Model;
using SharpIDE.Application.Features.Analysis;
@@ -71,6 +72,14 @@ public class FileChangedService
}
}
public async Task AnalyzerDllFilesChanged(ImmutableArray<string> changedDllPaths)
{
var success = await _roslynAnalysis.ReloadProjectsWithAnyOfAnalyzerFileReferences(changedDllPaths);
if (success is false) return;
GlobalEvents.Instance.SolutionAltered.InvokeParallelFireAndForget();
_updateSolutionDiagnosticsQueue.AddWork();
}
// All file changes should go via this service
public async Task SharpIdeFileChanged(SharpIdeFile file, string newContents, FileChangeType changeType, SharpIdeFileLinePosition? linePosition = null)
{