groundwork for code action ranges for quick fix (#204191)

* added in config

* fix balance between diagnostic and range

* cleanup
This commit is contained in:
Justin Chen 2024-02-05 14:13:18 -08:00 committed by GitHub
parent 9db238ecdc
commit 9f50c3dc2a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 8 additions and 1 deletions

View file

@ -11,7 +11,8 @@
"workspaceTrust",
"multiDocumentHighlightProvider",
"mappedEditsProvider",
"codeActionAI"
"codeActionAI",
"codeActionRanges"
],
"capabilities": {
"virtualWorkspaces": {

View file

@ -331,6 +331,7 @@ class TypeScriptQuickFixProvider implements vscode.CodeActionProvider<VsCodeCode
const codeAction = new VsCodeCodeAction(action, action.description, vscode.CodeActionKind.QuickFix);
codeAction.edit = getEditForCodeAction(this.client, action);
codeAction.diagnostics = [diagnostic];
codeAction.ranges = [diagnostic.range];
codeAction.command = {
command: ApplyCodeActionCommand.ID,
arguments: [{ action, diagnostic, document } satisfies ApplyCodeActionCommand_args],
@ -362,6 +363,8 @@ class TypeScriptQuickFixProvider implements vscode.CodeActionProvider<VsCodeCode
const inferFromBody = new VsCodeCodeAction(action, 'Infer types using Copilot', vscode.CodeActionKind.QuickFix);
inferFromBody.edit = new vscode.WorkspaceEdit();
inferFromBody.diagnostics = [diagnostic];
console.log(diagnostic, diagnostic.range);
inferFromBody.ranges = [diagnostic.range];
inferFromBody.isAI = true;
inferFromBody.command = {
command: EditorChatFollowUp.ID,
@ -389,6 +392,7 @@ class TypeScriptQuickFixProvider implements vscode.CodeActionProvider<VsCodeCode
aiCodeAction.edit = getEditForCodeAction(this.client, action);
aiCodeAction.edit?.insert(document.uri, diagnostic.range.start, '');
aiCodeAction.diagnostics = [diagnostic];
aiCodeAction.ranges = [diagnostic.range];
aiCodeAction.isAI = true;
aiCodeAction.command = {
command: CompositeCommand.ID,
@ -443,6 +447,7 @@ class TypeScriptQuickFixProvider implements vscode.CodeActionProvider<VsCodeCode
vscode.CodeActionKind.QuickFix);
action.diagnostics = [diagnostic];
action.ranges = [diagnostic.range];
action.command = {
command: ApplyFixAllCodeAction.ID,
arguments: [{ action } satisfies ApplyFixAllCodeAction_args],

View file

@ -12,6 +12,7 @@
"src/**/*",
"../../src/vscode-dts/vscode.d.ts",
"../../src/vscode-dts/vscode.proposed.codeActionAI.d.ts",
"../../src/vscode-dts/vscode.proposed.codeActionRanges.d.ts",
"../../src/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts",
"../../src/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts",
"../../src/vscode-dts/vscode.proposed.workspaceTrust.d.ts",