public FixAllState( FixAllProvider fixAllProvider, Project project, TextSpan selectionSpan, CodeRefactoringProvider codeRefactoringProvider, CodeActionOptionsProvider optionsProvider, FixAllScope fixAllScope, CodeAction codeAction) : this(fixAllProvider, document : null, project ?? throw new ArgumentNullException(nameof(project)), selectionSpan, codeRefactoringProvider, optionsProvider, fixAllScope, codeAction.Title, codeAction.EquivalenceKey) { }
protected override FixAllState With(Document?document, Project project, FixAllScope scope, string?codeActionEquivalenceKey) { return(new FixAllState( this.FixAllProvider, document, project, _selectionSpan, this.Provider, this.CodeActionOptionsProvider, scope, this.CodeActionTitle, codeActionEquivalenceKey)); }
private FixAllState( FixAllProvider fixAllProvider, Document?document, Project project, TextSpan selectionSpan, CodeRefactoringProvider codeRefactoringProvider, CodeActionOptionsProvider optionsProvider, FixAllScope fixAllScope, string codeActionTitle, string?codeActionEquivalenceKey) : base(fixAllProvider, document, project, codeRefactoringProvider, optionsProvider, fixAllScope, codeActionEquivalenceKey) { _selectionSpan = selectionSpan; this.CodeActionTitle = codeActionTitle; }
public static string GetDefaultFixAllTitle( FixAllScope fixAllScope, string title, Document triggerDocument, Project triggerProject) { return(fixAllScope switch { FixAllScope.Custom => string.Format(WorkspaceExtensionsResources.Fix_all_0, title), FixAllScope.Document => string.Format(WorkspaceExtensionsResources.Fix_all_0_in_1, title, triggerDocument.Name), FixAllScope.Project => string.Format(WorkspaceExtensionsResources.Fix_all_0_in_1, title, triggerProject.Name), FixAllScope.Solution => string.Format(WorkspaceExtensionsResources.Fix_all_0_in_Solution, title), FixAllScope.ContainingMember => string.Format(WorkspaceExtensionsResources.Fix_all_0_in_Containing_member, title), FixAllScope.ContainingType => string.Format(WorkspaceExtensionsResources.Fix_all_0_in_Containing_type, title), _ => throw ExceptionUtilities.UnexpectedValue(fixAllScope), });
protected CommonFixAllState( TFixAllProvider fixAllProvider, Document?document, Project project, TProvider provider, CodeActionOptionsProvider optionsProvider, FixAllScope scope, string?codeActionEquivalenceKey) { Debug.Assert(document == null || document.Project == project); FixAllProvider = fixAllProvider; Document = document; Project = project; Provider = provider; CodeActionOptionsProvider = optionsProvider; Scope = scope; CodeActionEquivalenceKey = codeActionEquivalenceKey; }
private static async Task <CodeAction> GetFixAllFixAsync( CodeAction originalCodeAction, CodeRefactoringProvider provider, CodeActionOptionsProvider optionsProvider, Document document, TextSpan selectionSpan, FixAllScope scope) { var fixAllProvider = provider.GetFixAllProvider(); if (fixAllProvider == null || !fixAllProvider.GetSupportedFixAllScopes().Contains(scope)) { return(null); } var fixAllState = new FixAllState(fixAllProvider, document, selectionSpan, provider, optionsProvider, scope, originalCodeAction); var fixAllContext = new FixAllContext(fixAllState, new ProgressTracker(), CancellationToken.None); return(await fixAllProvider.GetFixAsync(fixAllContext).ConfigureAwait(false)); }
protected abstract TFixAllState With(Document?document, Project project, FixAllScope scope, string?codeActionEquivalenceKey);