jshell tool: survey on keystroke functionality -- your input requested

Robert Field robert.field at oracle.com
Sat Mar 18 18:39:56 UTC 2017


A usability question is being hotly debated internally.   I'd love 
community input.
I'll give background.  If you understand that you can skip to the question.
Please email your choice with or without discussion.

BACKGROUND

There are currently these JShell-specific 
completion/information/transformation keystrokes --

tab [complete]:  completes an identifier (if there is a unique 
completion), does no or partial completion and provides a list of 
possible completion (if there are multiple completions)

shift-tab [info]: when the cursor is positioned after the open 
parenthesis of a method call, lists the matching method signatures. if 
pressed again, displays the javadoc for the first matching signature 
(prompting to display further)

Alt-F1 or Alt-Enter (depending on platform) [codegen]:  when followed by 
"i", prompts to auto-import the identifier before the cursor.  when 
followed by "v" converts the expression before the cursor into a 
variable declaration with the expression as initializer

USER MODELS

Current:  tab does completion, shift-tab gives information

Alternative (tab is used for both [complete] and [info]) : tab helps me 
complete -- either directly completing or giving me information that 
helps me complete

ARGUMENTS

Current:
     cleanly separates a request to complete the characters in an 
identifier (which is often to save typing) from a request for information

Alternative:
     just want one key to help me code, not different ones in different 
contexts.  This gives better discovery.
     When there isn't a unique completion, tab currently gives 
information, so the distinction isn't that clean.
     Currently shift-tab only works in one specific context, in that 
context the tab completions are usually in the hundreds, thus not very 
useful.
     This frees-up shift-tab for [codegen], eliminating the awkward and 
platform-dependent Alt-F1 or Alt-Enter

QUESTION

Current

    or

Alternative

???




More information about the kulla-dev mailing list