Bug 5081 - Useabilty - Consider making completion proposals case sensitive on the first letter
Summary: Useabilty - Consider making completion proposals case sensitive on the first...
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 2.0   Edit
Hardware: PC other
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Kai-Uwe Maetzel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-10-18 11:46 EDT by Randy Giffen CLA
Modified: 2002-05-09 08:45 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Randy Giffen CLA 2001-10-18 11:46:13 EDT
Code assist is used to "explore" what is available but in many cases it is used 
to simply complete what I am typing so that I don't have to type all the 
characters.

In this case it is optimal that the list not appear at all.
I want to be able to type "just enough" characters (to narrow the possible 
completions to just one), hit ctrl-space, and have the completion automatically 
appear. 
I think this would require 2 changes from the current behavior
1) An option (on by default) to auto-complete if there is only one completion 
in the list. This saves having the list popup and a keystroke. Ctrl-z will get 
rid of the completion if it is incorrect. 
2) The lists have to be more "precise" (in order to have a chance of narrowing 
them down to one completion). The problem is type names. If you include all 
valid type completions then the lists will always be long. I think that a 
reasonable approach to this problem is to require that type completions are 
only included in the list if they match on the case of the first character. 
Requiring users to use proper case on the first letter if they want type 
completions is not overly restrictive and I suspect that 98% of the time users 
are doing this anyway. Restricting it to the first letter means that we will 
not miss SubView as a completion for Subvi.
Comment 1 Jon Skeet CLA 2002-02-27 11:34:32 EST
It strikes me that options are good things here. If I type "s" and hit 
ctrl-space, it takes a while to build up the list of things beginning 
with s or S. If I'm confident I'll get the case right, I'd like to 
restrict it to those matches which *just* being with s. I'd like to then 
be able to expand it if I wish, without changing preferences.

So, there could be a preference:

Default code-completion action:
[] Case-insensitive matching, sorted case-insensitively
[] Case-insensitive matching, correct case first
[] Case-sensitive matching

with a hotkey to toggle between which you want to use for the *current* 
code completion when it's up.

I know it's a bit more work, but that would certainly be best for me. I 
can't instantly think of any downsides to it (other than effort) - 
anyone?

Jon
Comment 2 Erich Gamma CLA 2002-05-09 08:45:53 EDT
java core now proposes matches in a relevance order that is case sensitive