public SettingsAggregator(Workspace workspace) { _workspace = workspace; _workspace.WorkspaceChanged += UpdateProviders; _formattingProvider = GetOptionsProviderFactory <FormattingSetting>(_workspace); _codeStyleProvider = GetOptionsProviderFactory <CodeStyleSetting>(_workspace); _analyzerProvider = GetOptionsProviderFactory <AnalyzerSetting>(_workspace); }
private void UpdateProviders(object?sender, WorkspaceChangeEventArgs e) { switch (e.Kind) { case WorkspaceChangeKind.SolutionChanged: case WorkspaceChangeKind.SolutionAdded: case WorkspaceChangeKind.SolutionRemoved: case WorkspaceChangeKind.SolutionCleared: case WorkspaceChangeKind.SolutionReloaded: case WorkspaceChangeKind.ProjectAdded: case WorkspaceChangeKind.ProjectRemoved: case WorkspaceChangeKind.ProjectChanged: _formattingProvider = GetOptionsProviderFactory <FormattingSetting>(_workspace); _codeStyleProvider = GetOptionsProviderFactory <CodeStyleSetting>(_workspace); break; default: break; } }