Extend tsserver interface to allow refactoring failure reporting #28410
Labels
API
Relates to the public API for TypeScript
Domain: TSServer
Issues related to the TSServer
In Discussion
Not yet reached consensus
Suggestion
An idea for TypeScript
Search Terms
refactoring report failure fail
Suggestion
I would like a way to report refactoring failures similar to rename fail report ("You cannot rename this element").
This change improves transparency.
Edit: This might imply changes in VS Code language server extension as well. I'm not familiar with it though.
Use Cases
This would be useful to allow refactorings to initially show the refactoring, but when invoking it, an error message should be shown, instead of just not showing the refactoring. This would be confusing to the user.
Examples
Let's say we want to inline a variable, that is not initialized. This should not be possible. But it is still useful to show the refactoring initially, since the user may be confused why the option doesn't show up.
Then, if the user wants to invoke the refactoring, they get the error message "Cannot inline uninitialized variable."
Checklist
My suggestion meets these guidelines:
The text was updated successfully, but these errors were encountered: