public async Task <FixUsingsResponse> FixUsings(FixUsingsRequest request) { var document = _workspace.GetDocument(request.FileName); var response = new FixUsingsResponse(); if (document != null) { response = await new FixUsingsWorker().FixUsings(_workspace, document); if (!request.WantsTextChanges) { // return the new document var docText = await _workspace.CurrentSolution.GetDocument(document.Id).GetTextAsync(); response.Buffer = docText.ToString(); } else { // return the text changes var changes = await _workspace.CurrentSolution.GetDocument(document.Id).GetTextChangesAsync(document); response.Changes = await LinePositionSpanTextChange.Convert(document, changes); } } return(response); }
public async Task <FixUsingsResponse> FixUsings(OmnisharpWorkspace workspace, IEnumerable <ICodeActionProvider> codeActionProviders, Document document) { _workspace = workspace; _document = document; _semanticModel = await document.GetSemanticModelAsync(); await AddMissingUsings(codeActionProviders); await RemoveUsings(codeActionProviders); await SortUsings(); await TryAddLinqQuerySyntax(); var ambiguous = await GetAmbiguousUsings(codeActionProviders); var response = new FixUsingsResponse(); response.AmbiguousResults = ambiguous; return(response); }