Preferred refactorings #29587
Labels
In Discussion
Not yet reached consensus
Suggestion
An idea for TypeScript
VS Code Priority
Critical issues that VS Code needs fixed in the current TypeScript milestone
Problems
Refactorings such as
extract function
andextract constant
may return multiple possible locations where the code could be extracted to. In many cases however, the user would just like to quick extract something to a reliable location and continue on.extract function
is always returned alongsideextract constant
. However it is often desirable to extract to a constant instead of a function when possible.Proposal
In the TS Server protocol, mark some refactoring as a
preferred
refactorings. Editors could use this information to automatically select the preferred refactoring in the list or even quick apply it without any user input (see microsoft/vscode#62110 for VS Code's proposal on this)Preferred refactorings would let users set up actions such as
extract constant
that reliably extract to the nearest scope with a single action or keyboard shortcut. The UX behavior for this type of action:If only a single
isPreferred
refactoring is returned, apply it automatically.If multiple preferred refactorings are returned, show a list of the preferred refactorings that the user can select from
The normal refactor context menu with full list of refactorings would continue to display the full list of refactorings.
We can start conservative with which refactorings are preferred:
extract constant
, extract to local constextract function
, extract to function at the scope of the parent functionextract function
in a method, extract to a methodRelated to a similar proposal for quick fixes #29450
The text was updated successfully, but these errors were encountered: