Poll: Should smart completion work as basic by default when there's no special smart completion in particular language?

Pro: users who are accustomed to smart completion try to use it in all
contexts, and they will be annoyed by seeing no variants in languages,
where it isn't implemented.

Contra: In general it's just another separate completion, why should it
work as basic? Why not as class name? Why shouldn't class name
completion work as any of the two remaining? And advanced users will
know exactly which kind of completion they need in particular place, and
won't mix them up.

Offtopic: Class name completion in Diana completes not only class names,
but, for example, fully-qualified XML tag names. Shouldn't it be called
in some other way then? How?

2 comments
Comment actions Permalink

-1: I think users who are accustomed to smart completion understand the
difference between basic and smart completions and would get mislead if
the "smart" completion would show "dumb" results.

For the offtopic part: Do you have a list of "entity types" that get completed?
I am afraid the only names that would really match everything is too abstract
to be useful. Maybe "type completion" would better capture the new meaning,
and still isn't too far away from the old name.

Peter Gromov (JetBrains) wrote:

Pro: users who are accustomed to smart completion try to use it in all
contexts, and they will be annoyed by seeing no variants in languages,
where it isn't implemented.

Contra: In general it's just another separate completion, why should it
work as basic? Why not as class name? Why shouldn't class name
completion work as any of the two remaining? And advanced users will
know exactly which kind of completion they need in particular place, and
won't mix them up.

Offtopic: Class name completion in Diana completes not only class names,
but, for example, fully-qualified XML tag names. Shouldn't it be called
in some other way then? How?

0
Comment actions Permalink

-1: I think users who are accustomed to smart completion understand the
difference between basic and smart completions and would get mislead if
the "smart" completion would show "dumb" results.

Imagine that you're a long-term Java user who has started working in,
say, FreeMarker or Groovy. And your reflexes tend to use smart
completion in places like "a = b.]]>". User will get angry and break
her keyboard since IDEA will suggest nothing. If there was basic
completion instead, there would just be all properties of b, which is
not worse than could be, there's something to select from anyway.

Here it is assumed that primary goal of smart completion is to present
basic completion variants filtered by type. Java smart completion, of
course, has lots of special cases, so I'm in doubt whether to consider
filtering to be primary goal of it.

For the offtopic part: Do you have a list of "entity types" that get
completed?

Now there are only classes and tags from all taglibs. I'm considering to
add also static methods (with static import), probably as second
class-name completion.

I am afraid the only names that would really match everything is too
abstract
to be useful. Maybe "type completion" would better capture the new meaning,
and still isn't too far away from the old name.

Is qualified tag name with import a type? One of the other suggested
variants is 'Global', but imho it's too abstract.

0

Please sign in to leave a comment.