Currently I think it's silly and poorly usable to show constructors after "new" and factory methods wherever the type of the factory method is expected. I don't know a good solution offhand but some obvious solutions are:
1. Show factory methods in "new" completion popup, and remove "new" if one is selected for completion. This would be confusing to some people.
2. Show "new xx" for each constructor in normal smarttype completion. This would cause clutter for the common case of pressing ctrl+shift+space to complete a field or variable name.
3. Create new form of completion for instantiation. People already say IDEA has too many completions.
All 3 solutions have bad parts. I'll think about this issue.
4. Show constructors only if there's no other possible completion. Not sure how useful that really is.
5. Introduce smart completion "stages": Show constructors when pressing the shortcut twice. Show transitive possibilities (IDEA-5870) when pressing it three times, etc.
Looks like IDEA needs a "do-what-I-mean" button