Repository navigation
Simpler quick fix API #46249
Description
Activity
microsoft/vscode#117812 shows another case where a different API could help us ship a better user experience. Right now, you have to wait a moment to get fixes after you introduce an error in a file
- addedDomain: APIRelates to the public API for TypeScriptRelates to the public API for TypeScriptIn DiscussionNot yet reached consensusNot yet reached consensusSuggestionAn idea for TypeScriptAn idea for TypeScript
on Oct 8, 2021 Might also refactor?
- addedVS Code PriorityCritical issues that VS Code needs fixed in the current TypeScript milestoneCritical issues that VS Code needs fixed in the current TypeScript milestone
on Dec 6, 2023 andrewbranch commented
on Jan 10, 2024 MemberMore actionsUpdated URL for the LSP link in the issue body: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeAction
- addedDomain: LS: TSServerIssues related to the TSServerIssues related to the TSServer
on Feb 22, 2024 navya9singh Daniel Rosenwasser (@DanielRosenwasser) just an update - on the VS Code extension side of things, Matt Bierner (@mjbvz) and I have added a fix to handle the issue when there are pending diagnostics at the point of re-requesting code actions microsoft/vscode#117812
this is currently in our latest insiders, but lmk if this leads to any issues with the changes in the API, or when those changes land!
- addedRescheduledThis issue was previously scheduled to an earlier milestoneThis issue was previously scheduled to an earlier milestone
on Jul 26, 2024
Follow up on #27614
Search terms
getCodeFixesgetSupportedCodeFixesProblem
The
getCodeFixesAPI currently takes a range plus a diagnostic code. Currently, the range we pass to it has to match the range of the diagnostic we are trying to fix. This API is difficult for editors to implement for a few reasons:Proposal
We should consider a new quick fix API that addresses these problems and also is better aligned with the language server protocol. My proposal is that instead of having to think about diagnostics, editors pass the TS Server a range and are returned the valid quick fixes in that range.
Here's what the VS Code api for this looks like:
https://github.com/microsoft/vscode/blob/9a21b536639c2d986c50fb51b7da67bafdb50c9b/src/vs/vscode.d.ts#L2336
And here's the LSP:
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeAction