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;
        }
Beispiel #2
0
        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 FixMultipleOccurrencesService(
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator)
 {
     _editHandler = editHandler;
     _waitIndicator = waitIndicator;
 }
        /// <summary>
        /// If the provided fix all context is non-null and the context's code action Id matches the given code action's Id then,
        /// returns the set of fix all occurrences actions associated with the code action.
        /// </summary>
        internal static SuggestedActionSet GetFixAllSuggestedActionSet(
            CodeAction action,
            int actionCount,
            FixAllCodeActionContext fixAllCodeActionContext,
            Workspace workspace,
            ITextBuffer subjectBuffer,
            ICodeActionEditHandlerService editHandler,
            IWaitIndicator waitIndicator)
        {
            if (fixAllCodeActionContext == null)
            {
                return(null);
            }

            if (actionCount > 1 && action.EquivalenceKey == null)
            {
                return(null);
            }

            var fixAllSuggestedActions = ImmutableArray.CreateBuilder <FixAllSuggestedAction>();

            foreach (var scope in fixAllCodeActionContext.SupportedScopes)
            {
                var fixAllContext         = fixAllCodeActionContext.GetContextForScopeAndActionId(scope, action.EquivalenceKey);
                var fixAllAction          = new FixAllCodeAction(fixAllContext, fixAllCodeActionContext.FixAllProvider, showPreviewChangesDialog: true);
                var fixAllSuggestedAction = new FixAllSuggestedAction(workspace, subjectBuffer, editHandler, waitIndicator,
                                                                      fixAllAction, fixAllCodeActionContext.FixAllProvider, fixAllCodeActionContext.OriginalDiagnostics.First());
                fixAllSuggestedActions.Add(fixAllSuggestedAction);
            }

            return(new SuggestedActionSet(fixAllSuggestedActions.ToImmutable(), title: EditorFeaturesResources.FixAllOccurrencesIn));
        }
 public FixMultipleOccurrencesService(
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator)
 {
     _editHandler   = editHandler;
     _waitIndicator = waitIndicator;
 }
        public SuggestedActionsSourceProvider(
            IThreadingContext threadingContext,
            ICodeRefactoringService codeRefactoringService,
            IDiagnosticAnalyzerService diagnosticService,
            ICodeFixService codeFixService,
            ICodeActionEditHandlerService editHandler,
            IWaitIndicator waitIndicator,
            ISuggestedActionCategoryRegistryService suggestedActionCategoryRegistry,
            IAsynchronousOperationListenerProvider listenerProvider,
            [ImportMany]
            IEnumerable <Lazy <IImageMonikerService, OrderableMetadata> > imageMonikerServices,
            [ImportMany] IEnumerable <Lazy <ISuggestedActionCallback> > actionCallbacks
            )
        {
            _threadingContext                = threadingContext;
            _codeRefactoringService          = codeRefactoringService;
            _diagnosticService               = diagnosticService;
            _codeFixService                  = codeFixService;
            _suggestedActionCategoryRegistry = suggestedActionCategoryRegistry;
            ActionCallbacks                  = actionCallbacks.ToImmutableArray();
            EditHandler       = editHandler;
            WaitIndicator     = waitIndicator;
            OperationListener = listenerProvider.GetListener(FeatureAttribute.LightBulb);

            ImageMonikerServices = ExtensionOrderer.Order(imageMonikerServices).ToImmutableArray();
        }
 public SuggestedActionWithPreview(
     Workspace workspace, ITextBuffer subjectBuffer, ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator, CodeAction codeAction, object provider,
     IAsynchronousOperationListener operationListener)
     : base(workspace, subjectBuffer, editHandler, waitIndicator, codeAction,
            provider, operationListener, actionSets: null)
 {
 }
 public SuggestedActionWithPreview(
     Workspace workspace, ITextBuffer subjectBuffer, ICodeActionEditHandlerService editHandler, 
     IWaitIndicator waitIndicator, CodeAction codeAction, object provider, 
     IAsynchronousOperationListener operationListener) 
     : base(workspace, subjectBuffer, editHandler, waitIndicator, codeAction,
           provider, operationListener, actionSets: null)
 {
 }
 protected SuggestedActionWithFlavors(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     CodeAction codeAction,
     object provider) : base(workspace, subjectBuffer, editHandler, codeAction, provider)
 {
 }
 protected SuggestedActionWithFlavors(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     CodeAction codeAction,
     object provider) : base(workspace, subjectBuffer, editHandler, codeAction, provider)
 {
 }
 internal PreviewChangesSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     PreviewChangesCodeAction codeAction,
     object provider)
     : base(workspace, subjectBuffer, editHandler, codeAction, provider)
 {
 }
 public FixMultipleOccurrencesService(
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     [ImportMany] IEnumerable<Lazy<IAsynchronousOperationListener, FeatureMetadata>> asyncListeners)
 {
     _editHandler = editHandler;
     _waitIndicator = waitIndicator;
     _listener = new AggregateAsynchronousOperationListener(asyncListeners, FeatureAttribute.LightBulb);
 }
 public FixMultipleOccurrencesService(
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     IAsynchronousOperationListenerProvider listenerProvider)
 {
     _editHandler   = editHandler;
     _waitIndicator = waitIndicator;
     _listener      = listenerProvider.GetListener(FeatureAttribute.LightBulb);
 }
 internal PreviewChangesSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     PreviewChangesCodeAction codeAction,
     object provider)
     : base(workspace, subjectBuffer, editHandler, codeAction, provider)
 {
 }
Beispiel #15
0
 public CodeRefactoringSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     CodeAction codeAction,
     CodeRefactoringProvider provider)
     : base(workspace, subjectBuffer, editHandler, codeAction, provider)
 {
 }
 public FixMultipleOccurrencesService(
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     [ImportMany] IEnumerable <Lazy <IAsynchronousOperationListener, FeatureMetadata> > asyncListeners)
 {
     _editHandler   = editHandler;
     _waitIndicator = waitIndicator;
     _listener      = new AggregateAsynchronousOperationListener(asyncListeners, FeatureAttribute.LightBulb);
 }
 public SuppressionSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     CodeFix fix,
     object provider) :
     base(workspace, subjectBuffer, editHandler, fix.Action, provider)
 {
     _fix = fix;
 }
 protected SuggestedActionWithFlavors(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     CodeAction codeAction,
     object provider,
     IAsynchronousOperationListener operationListener) : base(workspace, subjectBuffer, editHandler, waitIndicator, codeAction, provider, operationListener)
 {
 }
Beispiel #19
0
 protected SuggestedActionWithFlavors(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     CodeAction codeAction,
     object provider,
     IAsynchronousOperationListener operationListener) : base(workspace, subjectBuffer, editHandler, waitIndicator, codeAction, provider, operationListener)
 {
 }
 private static void RefactoringSetup(TestWorkspace workspace, CodeRefactoringProvider provider, List<CodeAction> refactorings, out ICodeActionEditHandlerService editHandler, out EditorLayerExtensionManager.ExtensionManager extensionManager, out VisualStudio.Text.ITextBuffer textBuffer)
 {
     var document = GetDocument(workspace);
     var span = document.GetSyntaxRootAsync().Result.Span;
     var context = new CodeRefactoringContext(document, span, (a) => refactorings.Add(a), CancellationToken.None);
     provider.ComputeRefactoringsAsync(context).Wait();
     var action = refactorings.Single();
     editHandler = workspace.ExportProvider.GetExportedValue<ICodeActionEditHandlerService>();
     extensionManager = document.Project.Solution.Workspace.Services.GetService<IExtensionManager>() as EditorLayerExtensionManager.ExtensionManager;
     textBuffer = document.GetTextAsync().Result.Container.GetTextBuffer();
 }
 internal PreviewChangesSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     PreviewChangesCodeAction codeAction,
     object provider,
     IAsynchronousOperationListener operationListener)
     : base(workspace, subjectBuffer, editHandler, waitIndicator, codeAction, provider, operationListener)
 {
 }
 public CodeRefactoringSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     CodeAction codeAction,
     CodeRefactoringProvider provider,
     IAsynchronousOperationListener operationListener)
     : base(workspace, subjectBuffer, editHandler, waitIndicator, codeAction, provider, operationListener)
 {
 }
Beispiel #23
0
 public AnalyzersCommandHandler(
     AnalyzerItemsTracker tracker,
     AnalyzerReferenceManager analyzerReferenceManager,
     [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider,
     ICodeActionEditHandlerService editHandlerService)
 {
     _tracker = tracker;
     _analyzerReferenceManager = analyzerReferenceManager;
     _serviceProvider          = serviceProvider;
     _editHandlerService       = editHandlerService;
 }
 internal PreviewChangesSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     PreviewChangesCodeAction codeAction,
     object provider,
     IAsynchronousOperationListener operationListener)
     : base(workspace, subjectBuffer, editHandler, waitIndicator, codeAction, provider, operationListener)
 {
 }
 internal FixAllSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     FixAllCodeAction codeAction,
     FixAllProvider provider,
     Diagnostic originalFixedDiagnostic)
     : base(workspace, subjectBuffer, editHandler, codeAction, provider)
 {
     _fixedDiagnostic = originalFixedDiagnostic;
 }
Beispiel #26
0
        internal FixMultipleSuggestedAction(
            Workspace workspace,
            ICodeActionEditHandlerService editHandler,
            FixMultipleCodeAction codeAction,
            FixAllProvider provider,
            ITextBuffer subjectBufferOpt = null)
            : base(workspace, subjectBufferOpt, editHandler, codeAction, provider, originalFixedDiagnostic: codeAction.GetTriggerDiagnostic())
        {
            _triggerDocumentOpt = codeAction.FixAllContext.Document;

            _telemetryId = GetTelemetryId(codeAction.FixAllContext.DiagnosticIds);
        }
 public CodeFixSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     CodeFix fix,
     object provider,
     SuggestedActionSet fixAllSuggestedActionSet)
     : base(workspace, subjectBuffer, editHandler, fix.Action, provider)
 {
     _fix = fix;
     _fixAllSuggestedActionSet = fixAllSuggestedActionSet;
 }
        internal FixMultipleSuggestedAction(
            Workspace workspace,
            ICodeActionEditHandlerService editHandler,
            FixMultipleCodeAction codeAction,
            FixAllProvider provider,
            ITextBuffer subjectBufferOpt = null)
            : base(workspace, subjectBufferOpt, editHandler, codeAction, provider, originalFixedDiagnostic: codeAction.GetTriggerDiagnostic())
        {
            _triggerDocumentOpt = codeAction.FixAllContext.Document;

            _telemetryId = GetTelemetryId(codeAction.FixAllContext.DiagnosticIds);
        }
 public SuggestedActionsSourceProvider(
     ICodeRefactoringService codeRefactoringService,
     IDiagnosticAnalyzerService diagnosticService,
     ICodeFixService codeFixService,
     ICodeActionEditHandlerService editHandler,
     [ImportMany] IEnumerable <Lazy <IAsynchronousOperationListener, FeatureMetadata> > asyncListeners)
 {
     _codeRefactoringService = codeRefactoringService;
     _diagnosticService      = diagnosticService;
     _codeFixService         = codeFixService;
     _editHandler            = editHandler;
     _listener = new AggregateAsynchronousOperationListener(asyncListeners, FeatureAttribute.LightBulb);
 }
 public SuggestedActionsSourceProvider(
     ICodeRefactoringService codeRefactoringService,
     IDiagnosticAnalyzerService diagnosticService,
     ICodeFixService codeFixService,
     ICodeActionEditHandlerService editHandler,
     [ImportMany] IEnumerable<Lazy<IAsynchronousOperationListener, FeatureMetadata>> asyncListeners)
 {
     _codeRefactoringService = codeRefactoringService;
     _diagnosticService = diagnosticService;
     _codeFixService = codeFixService;
     _editHandler = editHandler;
     _listener = new AggregateAsynchronousOperationListener(asyncListeners, FeatureAttribute.LightBulb);
 }
 public SuppressionSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     CodeFix fix,
     object provider,
     Func <CodeAction, SuggestedActionSet> getFixAllSuggestedActionSet) :
     base(workspace, subjectBuffer, editHandler, waitIndicator, fix.Action, provider)
 {
     _fix = fix;
     _getFixAllSuggestedActionSet = getFixAllSuggestedActionSet;
 }
Beispiel #32
0
 internal FixAllSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     FixAllCodeAction codeAction,
     FixAllProvider provider,
     Diagnostic originalFixedDiagnostic,
     IAsynchronousOperationListener operationListener)
     : base(workspace, subjectBuffer, editHandler, waitIndicator, codeAction, provider, operationListener)
 {
     _fixedDiagnostic = originalFixedDiagnostic;
 }
        internal FixMultipleSuggestedAction(
            IAsynchronousOperationListener operationListener,
            Workspace workspace,
            ICodeActionEditHandlerService editHandler,
            IWaitIndicator waitIndicator,
            FixMultipleCodeAction codeAction,
            FixAllProvider provider,
            ITextBuffer subjectBufferOpt = null)
            : base(workspace, subjectBufferOpt, editHandler, waitIndicator, codeAction, provider, originalFixedDiagnostic: codeAction.GetTriggerDiagnostic(), operationListener: operationListener)
        {
            _triggerDocumentOpt = codeAction.FixAllState.Document;

            _telemetryId = GetTelemetryId(codeAction.FixAllState.DiagnosticIds);
        }
Beispiel #34
0
        internal FixMultipleSuggestedAction(
            IAsynchronousOperationListener operationListener,
            Workspace workspace,
            ICodeActionEditHandlerService editHandler,
            IWaitIndicator waitIndicator,
            FixMultipleCodeAction codeAction,
            FixAllProvider provider,
            ITextBuffer subjectBufferOpt = null)
            : base(workspace, subjectBufferOpt, editHandler, waitIndicator, codeAction, provider, originalFixedDiagnostic: codeAction.GetTriggerDiagnostic(), operationListener: operationListener)
        {
            _triggerDocumentOpt = codeAction.FixAllState.Document;

            _telemetryId = GetTelemetryId(codeAction.FixAllState.DiagnosticIds);
        }
Beispiel #35
0
        protected SuggestedAction(
            Workspace workspace,
            ITextBuffer subjectBuffer,
            ICodeActionEditHandlerService editHandler,
            CodeAction codeAction,
            object provider)
        {
            Contract.ThrowIfTrue(provider == null);

            this.Workspace     = workspace;
            this.SubjectBuffer = subjectBuffer;
            this.CodeAction    = codeAction;
            this.EditHandler   = editHandler;
            this.Provider      = provider;
        }
Beispiel #36
0
 public CodeFixSuggestedAction(
     Workspace workspace,
     ITextBuffer subjectBuffer,
     ICodeActionEditHandlerService editHandler,
     IWaitIndicator waitIndicator,
     CodeFix fix,
     CodeAction action,
     object provider,
     SuggestedActionSet fixAllSuggestedActionSet,
     IAsynchronousOperationListener operationListener)
     : base(workspace, subjectBuffer, editHandler, waitIndicator, action, provider, operationListener)
 {
     _fix = fix;
     _fixAllSuggestedActionSet = fixAllSuggestedActionSet;
 }
Beispiel #37
0
        internal SuggestedAction(
            Workspace workspace,
            ITextBuffer subjectBuffer,
            ICodeActionEditHandlerService editHandler,
            CodeAction codeAction,
            object provider,
            IEnumerable <SuggestedActionSet> actionSets = null)
        {
            Contract.ThrowIfTrue(provider == null);

            this.Workspace     = workspace;
            this.SubjectBuffer = subjectBuffer;
            this.CodeAction    = codeAction;
            this.EditHandler   = editHandler;
            this.Provider      = provider;
            _actionSets        = actionSets.AsImmutableOrEmpty();
        }
Beispiel #38
0
        public SuggestedActionsSourceProvider(
            ICodeRefactoringService codeRefactoringService,
            IDiagnosticAnalyzerService diagnosticService,
            ICodeFixService codeFixService,
            ICodeActionEditHandlerService editHandler,
            IWaitIndicator waitIndicator,
            [ImportMany] IEnumerable <Lazy <IAsynchronousOperationListener, FeatureMetadata> > asyncListeners,
            [ImportMany] IEnumerable <Lazy <IImageMonikerService, OrderableMetadata> > imageMonikerServices)
        {
            _codeRefactoringService = codeRefactoringService;
            _diagnosticService      = diagnosticService;
            _codeFixService         = codeFixService;
            EditHandler             = editHandler;
            WaitIndicator           = waitIndicator;
            OperationListener       = new AggregateAsynchronousOperationListener(asyncListeners, FeatureAttribute.LightBulb);

            ImageMonikerServices = ExtensionOrderer.Order(imageMonikerServices).ToImmutableArray();
        }
        public SuggestedActionsSourceProvider(
            ICodeRefactoringService codeRefactoringService,
            IDiagnosticAnalyzerService diagnosticService,
            ICodeFixService codeFixService,
            ICodeActionEditHandlerService editHandler,
            IWaitIndicator waitIndicator,
            [ImportMany] IEnumerable<Lazy<IAsynchronousOperationListener, FeatureMetadata>> asyncListeners,
            [ImportMany] IEnumerable<Lazy<IImageMonikerService, OrderableMetadata>> imageMonikerServices)
        {
            _codeRefactoringService = codeRefactoringService;
            _diagnosticService = diagnosticService;
            _codeFixService = codeFixService;
            EditHandler = editHandler;
            WaitIndicator = waitIndicator;
            OperationListener = new AggregateAsynchronousOperationListener(asyncListeners, FeatureAttribute.LightBulb);

            ImageMonikerServices = ExtensionOrderer.Order(imageMonikerServices).ToImmutableArray();
        }
Beispiel #40
0
        public VisualStudioDiagnosticListTableCommandHandler(
            SVsServiceProvider serviceProvider,
            VisualStudioWorkspace workspace,
            IVisualStudioSuppressionFixService suppressionFixService,
            IVisualStudioDiagnosticListSuppressionStateService suppressionStateService,
            IWaitIndicator waitIndicator,
            IDiagnosticAnalyzerService diagnosticService,
            ICodeActionEditHandlerService editHandlerService)
        {
            _workspace               = workspace;
            _suppressionFixService   = (VisualStudioSuppressionFixService)suppressionFixService;
            _suppressionStateService = (VisualStudioDiagnosticListSuppressionStateService)suppressionStateService;
            _waitIndicator           = waitIndicator;
            _diagnosticService       = diagnosticService;
            _editHandlerService      = editHandlerService;

            var errorList = serviceProvider.GetService(typeof(SVsErrorList)) as IErrorList;

            _tableControl = errorList?.TableControl;
        }
 public VisualStudioDiagnosticListTableCommandHandler(
     IThreadingContext threadingContext,
     SVsServiceProvider serviceProvider,
     VisualStudioWorkspace workspace,
     IVisualStudioSuppressionFixService suppressionFixService,
     VisualStudioDiagnosticListSuppressionStateService suppressionStateService,
     IUIThreadOperationExecutor uiThreadOperationExecutor,
     IDiagnosticAnalyzerService diagnosticService,
     ICodeActionEditHandlerService editHandlerService,
     IAsynchronousOperationListenerProvider listenerProvider)
 {
     _threadingContext          = threadingContext;
     _workspace                 = workspace;
     _suppressionFixService     = (VisualStudioSuppressionFixService)suppressionFixService;
     _suppressionStateService   = suppressionStateService;
     _uiThreadOperationExecutor = uiThreadOperationExecutor;
     _diagnosticService         = diagnosticService;
     _editHandlerService        = editHandlerService;
     _listener = listenerProvider.GetListener(FeatureAttribute.ErrorList);
 }
        public VisualStudioSuppressionFixService(
            SVsServiceProvider serviceProvider,
            VisualStudioWorkspaceImpl workspace,
            IDiagnosticAnalyzerService diagnosticService,
            ICodeFixService codeFixService,
            ICodeActionEditHandlerService editHandlerService,
            IVisualStudioDiagnosticListSuppressionStateService suppressionStateService,
            IWaitIndicator waitIndicator)
        {
            _workspace = workspace;
            _diagnosticService = diagnosticService;
            _codeFixService = codeFixService;
            _suppressionStateService = (VisualStudioDiagnosticListSuppressionStateService)suppressionStateService;
            _editHandlerService = editHandlerService;
            _waitIndicator = waitIndicator;
            _fixMultipleOccurencesService = workspace.Services.GetService<IFixMultipleOccurrencesService>();

            var errorList = serviceProvider.GetService(typeof(SVsErrorList)) as IErrorList;
            _tableControl = errorList?.TableControl;
        }
Beispiel #43
0
        public VisualStudioSuppressionFixService(
            SVsServiceProvider serviceProvider,
            VisualStudioWorkspaceImpl workspace,
            IDiagnosticAnalyzerService diagnosticService,
            ICodeFixService codeFixService,
            ICodeActionEditHandlerService editHandlerService,
            IVisualStudioDiagnosticListSuppressionStateService suppressionStateService,
            IWaitIndicator waitIndicator)
        {
            _workspace                    = workspace;
            _diagnosticService            = diagnosticService;
            _codeFixService               = codeFixService;
            _suppressionStateService      = (VisualStudioDiagnosticListSuppressionStateService)suppressionStateService;
            _editHandlerService           = editHandlerService;
            _waitIndicator                = waitIndicator;
            _fixMultipleOccurencesService = workspace.Services.GetService <IFixMultipleOccurrencesService>();

            var errorList = serviceProvider.GetService(typeof(SVsErrorList)) as IErrorList;

            _tableControl = errorList?.TableControl;
        }
            /// <summary>
            /// If the provided fix all context is non-null and the context's code action Id matches the given code action's Id then,
            /// returns the set of fix all occurrences actions associated with the code action.
            /// </summary>
            internal static SuggestedActionSet GetFixAllSuggestedActionSet(
                CodeAction action,
                int actionCount,
                FixAllState fixAllState,
                IEnumerable<FixAllScope> supportedScopes,
                Diagnostic firstDiagnostic,
                Workspace workspace,
                ITextBuffer subjectBuffer,
                ICodeActionEditHandlerService editHandler,
                IWaitIndicator waitIndicator,
                IAsynchronousOperationListener operationListener)
            {
                if (fixAllState == null)
                {
                    return null;
                }

                if (actionCount > 1 && action.EquivalenceKey == null)
                {
                    return null;
                }

                var fixAllSuggestedActions = ArrayBuilder<FixAllSuggestedAction>.GetInstance();
                foreach (var scope in supportedScopes)
                {
                    var fixAllStateForScope = fixAllState.WithScopeAndEquivalenceKey(scope, action.EquivalenceKey);
                    var fixAllAction = new FixSomeCodeAction(fixAllStateForScope, showPreviewChangesDialog: true);
                    var fixAllSuggestedAction = new FixAllSuggestedAction(
                        workspace, subjectBuffer, editHandler, waitIndicator, fixAllAction,
                        fixAllStateForScope.FixAllProvider, firstDiagnostic, operationListener);
                    fixAllSuggestedActions.Add(fixAllSuggestedAction);
                }

                return new SuggestedActionSet(
                    fixAllSuggestedActions.ToImmutableAndFree(),
                    title: EditorFeaturesResources.Fix_all_occurrences_in);
            }
 public FixMultipleOccurrencesService(
     ICodeActionEditHandlerService editHandler)
 {
     _editHandler = editHandler;
 }