public VisualStudioSuppressionFixService( SVsServiceProvider serviceProvider, VisualStudioWorkspaceImpl workspace, IDiagnosticAnalyzerService diagnosticService, ICodeFixService codeFixService, ICodeActionEditHandlerService editHandlerService, IVisualStudioDiagnosticListSuppressionStateService suppressionStateService, IUIThreadOperationExecutor uiThreadOperationExecutor, IVsHierarchyItemManager vsHierarchyItemManager, IAsynchronousOperationListenerProvider listenerProvider, IGlobalOptionService globalOptions) { _workspace = workspace; _diagnosticService = diagnosticService; _buildErrorDiagnosticService = workspace.ExternalErrorDiagnosticUpdateSource; _codeFixService = codeFixService; _suppressionStateService = (VisualStudioDiagnosticListSuppressionStateService)suppressionStateService; _editHandlerService = editHandlerService; _uiThreadOperationExecutor = uiThreadOperationExecutor; _vsHierarchyItemManager = vsHierarchyItemManager; _fixMultipleOccurencesService = workspace.Services.GetRequiredService <IFixMultipleOccurrencesService>(); _projectMap = workspace.Services.GetRequiredService <IHierarchyItemToProjectIdMap>(); var errorList = serviceProvider.GetService(typeof(SVsErrorList)) as IErrorList; _tableControl = errorList?.TableControl; _listener = listenerProvider.GetListener(FeatureAttribute.ErrorList); _globalOptions = globalOptions; }
public VisualStudioSuppressionFixService( SVsServiceProvider serviceProvider, VisualStudioWorkspaceImpl workspace, IDiagnosticAnalyzerService diagnosticService, ExternalErrorDiagnosticUpdateSource buildErrorDiagnosticService, ICodeFixService codeFixService, ICodeActionEditHandlerService editHandlerService, IVisualStudioDiagnosticListSuppressionStateService suppressionStateService, IWaitIndicator waitIndicator, IVsHierarchyItemManager vsHierarchyItemManager) { _workspace = workspace; _diagnosticService = diagnosticService; _buildErrorDiagnosticService = buildErrorDiagnosticService; _codeFixService = codeFixService; _suppressionStateService = (VisualStudioDiagnosticListSuppressionStateService)suppressionStateService; _editHandlerService = editHandlerService; _waitIndicator = waitIndicator; _vsHierarchyItemManager = vsHierarchyItemManager; _fixMultipleOccurencesService = workspace.Services.GetService <IFixMultipleOccurrencesService>(); _projectMap = workspace.Services.GetService <IHierarchyItemToProjectIdMap>(); var errorList = serviceProvider.GetService(typeof(SVsErrorList)) as IErrorList; _tableControl = errorList?.TableControl; }
private static Func <Project, bool> GetShouldFixInProjectDelegate( IVsHierarchyItemManager vsHierarchyItemManager, IHierarchyItemToProjectIdMap projectMap, IVsHierarchy projectHierarchyOpt ) { ProjectId projectIdToMatch = null; if (projectHierarchyOpt != null) { var projectHierarchyItem = vsHierarchyItemManager.GetHierarchyItem( projectHierarchyOpt, VSConstants.VSITEMID_ROOT ); if ( projectMap.TryGetProjectId( projectHierarchyItem, targetFrameworkMoniker: null, out var projectId ) ) { projectIdToMatch = projectId; } } return(p => projectHierarchyOpt == null || p.Id == projectIdToMatch); }
private IHierarchyItemToProjectIdMap TryGetProjectMap() { var workspace = TryGetWorkspace(); if (workspace == null) { return(null); } if (_projectMap == null) { _projectMap = workspace.Services.GetService <IHierarchyItemToProjectIdMap>(); } return(_projectMap); }
internal AnalyzersFolderItemProvider(IHierarchyItemToProjectIdMap projectMap, Workspace workspace, IAnalyzersCommandHandler commandHandler) { _projectMap = projectMap; _workspace = workspace; _commandHandler = commandHandler; }
/// <summary> /// Constructor for use only in unit tests. Bypasses MEF to set the project mapper, workspace and glyph service. /// </summary> /// <param name="workspace"></param> /// <param name="projectMap"></param> internal AnalyzersFolderItemProvider(IHierarchyItemToProjectIdMap projectMap, Workspace workspace) { _projectMap = projectMap; _workspace = workspace; }