4 types of completion too much for newbies?

One thing I've seen a lot of is that people new to Idea have a tough time when it comes to completion in Idea. I've been using Idea so long that it has become second nature to me but I can understand that choosing between ctrl-space, ctrl-alt-space, ctrl-alt-shift-space and ctrl-shift-space can take a lot of getting used to.

Is there anything we can do to make this situation easier for beginners? Maybe a default simple mode and a more advanced completion mode?

0
23 comments

Glen Stampoultzis wrote:

One thing I've seen a lot of is that people new to Idea have a tough
time when it comes to completion in Idea. I've been using Idea so
long that it has become second nature to me but I can understand that
choosing between ctrl-space, ctrl-alt-space, ctrl-alt-shift-space and
ctrl-shift-space can take a lot of getting used to.

Is there anything we can do to make this situation easier for
beginners? Maybe a default simple mode and a more advanced
completion mode?


Isn't ctrl+space a simple mode?

0

Isn't ctrl+space a simple mode?


Yes however it doesn't complete class names that haven't already been imported. Perhaps the solution is to (optionaly) allow ctrl-space to complete class names.

0

4 different types of completion (or 5 if you count live template
completion) can indeed take quite a long time to master. There are some
request that suggest different solutions to this problem in the old tracker.
http://www.jetbrains.net/jira/browse/IDEABKL-763

One solution I believe was to have one key combination and pressing that
multiple times for different types of completion, with the most specific
completion first.

Bas

0

I've heard Eclipse users complain about this too. One person told me
that IDEA's completion seems dumb, because in Eclipse, for example,
after "new", the default completion becomes equivalent to SmartType
completion. So, their completion is not as useful as SmartType in
general, but in many common cases it is.

Glen Stampoultzis wrote:

One thing I've seen a lot of is that people new to Idea have a tough
time when it comes to completion in Idea. I've been using Idea so
long that it has become second nature to me but I can understand that
choosing between ctrl-space, ctrl-alt-space, ctrl-alt-shift-space and
ctrl-shift-space can take a lot of getting used to.

Is there anything we can do to make this situation easier for
beginners? Maybe a default simple mode and a more advanced
completion mode?

0

-1

I think this would make things more confusing since the same key stroke would produce different results. It would also be worse for experienced users who do not use the most specific completion because they would have to hit a key stroke multiple times to get what they used to be able to get with only one key stroke.

0

That is why Idea provides ctrl-alt-space.

0

+100

ctrl-space to list all completions at once.

0

ming fang wrote:

+100

ctrl-space to list all completions at once.


What do you mean all at once?

0

ctrl-space would do basic completion, smart completion and class completion. the results of all the completions would appear in the popup together. no more pressing all completion key combinations hunting for the right one.

0

ming fang wrote:

ctrl-space would do basic completion, smart completion and class completion. the results of all the completions would appear in the popup together. no more pressing all completion key combinations hunting for the right one.


-100

No thank you. I know which completion does what. I use Smart Completion
because I want to reduce the number of options provided in the popup.

Ciao,
Gordon

--
Gordon Tyler (Software Developer)
Quest Software <http://www.quest.com/>
260 King Street East, Toronto, Ontario M5A 4L5, Canada
Voice: (416) 933-5046 | Fax: (416) 933-5001

0

We have all missed what Idea already has to make completion easier to understand. Press the help button, select the search tab, type the word completion into the input box and select the first entry in the list that comes up. What you'll see is a pretty good description of the different types of completions and how to involke them.

0

This solution should indeed definitely not replace the existing separate keystrokes. I'm way too used to them. But when I first started to use IDEA I had to think very hard about what keystroke I needed to get the completion I wanted. This suggestion could be an additional way to access the different completions, which I think I could have used at the time.

0

-1000

This is why I hate Eclipse code completion. You still have to search in a to
large list. The time you search for the right item, you can enter it yourself.

Tom

0

ming fang wrote:

ctrl-space would do basic completion, smart completion and class
completion. the results of all the completions would appear in the
popup together. no more pressing all completion key combinations
hunting for the right one.


For the most part, smarttype completion simply narrows down the results
of normal completion. So, displaying smarttype completion and regular
completion would be exactly the same as only displaying regular
completion, which IDEA obviously already does. Classname completion
results in the regular ctrl+space completion would make all completion
popups contain thousands of entries, one for every visible class in the
project, libraries, and JDK. I don't think your proposal makes much sense.

0

That is why Idea provides ctrl-alt-space.


Yes. I get that. It is hard wired into my brain to the point I don't have to think about it. I like the way it works actually. I'm just saying that new users often seem to have problems with dealing with the fact that there are so many ways to complete. I'm just wondering out loud here if there are better ways to do things or if there needs to be some configuration options to to make things behave in ways new users expect.

0

Not exactly. I'm sure, there are some few cases like type safe enums which
are suggested in smart completion but not with normal completion.

Tom

0

Not exactly. I'm sure, there are some few cases


And those are quite important actually like:
Color c = | suggests Color.[red|green|etc...]

PsiManager manager = | suggests PsiManager.getInstance()

even without any prefix enetered.

-


Maxim Shafirov
http://www.jetbrains.com
"Develop with pleasure!"


0

Thomas Singer wrote:

Not exactly. I'm sure, there are some few cases like type safe enums
which are suggested in smart completion but not with normal completion.

Tom


Yes, that's why I said almost. IDEA suggests static members of the class
of that class's type. It also suggests new <interfacae/absdtract
class>() {...}.

0

Hey, Maxim. What's your point of view on this?

Maxim Shafirov (JetBrains) wrote:

>> Not exactly. I'm sure, there are some few cases
>
>

And those are quite important actually like:
Color c = | suggests Color.[red|green|etc...]

>

PsiManager manager = | suggests PsiManager.getInstance()

>

even without any prefix enetered.

>

-------------------
Maxim Shafirov
http://www.jetbrains.com
"Develop with pleasure!"

>
>

0

how amount adding yet another code completion option call "all"? then for those of us that wishes that behavior can map ctrl-space to it.

0

+infinity.

Let's put this to bed.

ming fang wrote:

>how amount adding yet another code completion option call "all"? then for those of us that wishes that behavior can map ctrl-space to it.

>

0

Those who already did learn those 3 shortcuts are really more productive
as they get less variants. Newbees may indeed have problems especially with
CtrlAltSpace (class name completion). Hopefully, productivity hint about
class name completion should help them learn that faster.

-


Maxim Shafirov
http://www.jetbrains.com
"Develop with pleasure!"


0

Please sign in to leave a comment.