You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently when resolved code completions with tab stops are inserted, the tab stops are added to an editor template. That works well and is likely what most would want when there are multiple tab stops, but when there's only one, the single tab stop actually gets in the way of a smooth typing experience because it has to be finished with Enter, Tab, or Esc, and doing so moves the caret to another location. That also causes those keys to have an ambiguous meaning when typing a value for the tab stop that triggers auto-completion.
For example, typing Tab in the following both inserts the currently selected completion and finishes the editor template, moving the caret out of the parentheses:
That's not what's wanted if the user is accepting that completion as part of a larger expression for the current invocation argument, and then the user has to return the caret to the desired location. That's what I meant by "gets in the way of a smooth typing experience".
Minimally it should be possible to disable this editor template behavior when there's a single tab stop in the inserted completion. Instead any inserted default argument text should be pre-selected so that it's overwritten if/when the user begins typing. That would likely take the form of a completion client configuration option (see #705 for an existing PR with an existing completion client configuration option).
The text was updated successfully, but these errors were encountered:
Currently when resolved code completions with tab stops are inserted, the tab stops are added to an editor template. That works well and is likely what most would want when there are multiple tab stops, but when there's only one, the single tab stop actually gets in the way of a smooth typing experience because it has to be finished with Enter, Tab, or Esc, and doing so moves the caret to another location. That also causes those keys to have an ambiguous meaning when typing a value for the tab stop that triggers auto-completion.
For example, typing Tab in the following both inserts the currently selected completion and finishes the editor template, moving the caret out of the parentheses:
That's not what's wanted if the user is accepting that completion as part of a larger expression for the current invocation argument, and then the user has to return the caret to the desired location. That's what I meant by "gets in the way of a smooth typing experience".
Minimally it should be possible to disable this editor template behavior when there's a single tab stop in the inserted completion. Instead any inserted default argument text should be pre-selected so that it's overwritten if/when the user begins typing. That would likely take the form of a
completion
client configuration option (see #705 for an existing PR with an existingcompletion
client configuration option).The text was updated successfully, but these errors were encountered: