From a13202cb487285766d04479edf8a3cf21086a4c9 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Wed, 16 Feb 2022 21:36:37 +0000 Subject: [PATCH 1/2] Return a code action for each diagnostic record returned by PSSA --- .../Handlers/CodeActionHandler.cs | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeActionHandler.cs b/src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeActionHandler.cs index 062a312ff..b47133a5d 100644 --- a/src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeActionHandler.cs +++ b/src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeActionHandler.cs @@ -81,24 +81,27 @@ public override async Task Handle(CodeActionParams string diagnosticId = AnalysisService.GetUniqueIdFromDiagnostic(diagnostic); if (corrections.TryGetValue(diagnosticId, out MarkerCorrection correction)) { - codeActions.Add(new CodeAction + foreach(ScriptRegion edit in correction.Edits) { - Title = correction.Name, - Kind = CodeActionKind.QuickFix, - Edit = new WorkspaceEdit + codeActions.Add(new CodeAction { - DocumentChanges = new Container( - new WorkspaceEditDocumentChange( - new TextDocumentEdit - { - TextDocument = new OptionalVersionedTextDocumentIdentifier + Title = correction.Name, + Kind = CodeActionKind.QuickFix, + Edit = new WorkspaceEdit + { + DocumentChanges = new Container( + new WorkspaceEditDocumentChange( + new TextDocumentEdit { - Uri = request.TextDocument.Uri - }, - Edits = new TextEditContainer(correction.Edits.Select(ScriptRegion.ToTextEdit)) - })) - } - }); + TextDocument = new OptionalVersionedTextDocumentIdentifier + { + Uri = request.TextDocument.Uri + }, + Edits = new TextEditContainer(ScriptRegion.ToTextEdit(edit)) + })) + } + }); + } } } From 87e37db13fc37aecf233740f1268219375039a49 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Wed, 16 Feb 2022 21:44:29 +0000 Subject: [PATCH 2/2] formatting --- .../Services/TextDocument/Handlers/CodeActionHandler.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeActionHandler.cs b/src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeActionHandler.cs index b47133a5d..24df42fe2 100644 --- a/src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeActionHandler.cs +++ b/src/PowerShellEditorServices/Services/TextDocument/Handlers/CodeActionHandler.cs @@ -81,7 +81,7 @@ public override async Task Handle(CodeActionParams string diagnosticId = AnalysisService.GetUniqueIdFromDiagnostic(diagnostic); if (corrections.TryGetValue(diagnosticId, out MarkerCorrection correction)) { - foreach(ScriptRegion edit in correction.Edits) + foreach (ScriptRegion edit in correction.Edits) { codeActions.Add(new CodeAction {