[MonoDevelop] Rethinking the "toggle completion categories" command

Michael Hutchinson m.j.hutchinson at gmail.com
Sun Jan 9 00:48:40 EST 2011


I've been finding the completion filtering mildly annoying because
it's very easy to toggle it on accidentally by hitting "control-space"
while the completion window is open. I don't like having the feature
always enabled, because it alters the sorting and makes filtering feel
very strange because the list is not alphabetical, though I understand
some users do like to keep it always enabled. However, I do like to be
able to use it occasionally - and when I do, I usually use Shift-Down
or Shift-Up to enable it (but then get annoyed by having to toggle it
off when I'm done).

We had a long discussion last time about how to control this mode, and
the solution wasn't completely satisfactory to everyone at the time.
Now that we've had the command for some time, so people have some
practical experience with it, I'd like to bring the discussion up
again, and maybe we can find a better solution.

I think that perhaps shift-space would be better, since I *think* it's
harder to do that by accident, because it's not the key that triggers
completion. It's also more consistent with shift-up and shift-down. It
might be easy to hit it accidentally while typing uppercase chars
right after spaces, though spaces are very rarely used *within* the
completion list. Alt-space is used by the window menu on Windows, and
it would be good to keep this consistent across platforms. tI wouldn't
make it keybindable, as that would "use up" a keybinding for a feature
that only works on one very limited context, and I don't think it's
sufficiently important to be able to rebind this command.

Also, if categorization is implicitly enabled by using shift-up or
shift-down while it's disabled, it would be nice if it only stayed
enabled as long as the list is open. Explicitly toggling it via
shift-space would be persistent.

Another point - sometimes categories are enabled but the list doesn't
show categories, because there are no categories to show. But if we
always showed some kind of category header, at least it would be
clearer when the list is in category mode. This would also help to
indicate to users that it's a mode, and not just happening randomly.
I'm sure we could add categories for other contexts, such as "locals",
"parameters", "templates", "keywords", "members", "types".

Thoughts?

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list