Eclipse recently has suffered increasing numbers of questionable autocompletions — sometimes auto-wrongly replacing perfectly good code typed by the developer.
While there might be a few underlying issues, I found replacing “map.put()” with “map.compute()” particularly annoying and went to investigate. Here’s the solution.
At least one issue causing these annoyances appears to be Java Proposals (Task-Focused). These apparently come from Mylyn.
You can disabled these from Preferences | Java | Editor | Content Assist | Advanced.
Mylyn is something which probably might be useful to somebody somewhere, but has never been to me; I’m not sure I’ve ever seen anybody who was using or benefiting from it.
Usability matters — most commercial devs I’ve met just use their tools out-of-the-box, don’t customize, and just workaround problems. I would expect less than 20% ever look for a fix.
Given that, it would nice if Eclipse just “worked well” out of the box rather than looking pointlessly stupid?
There are a bunch of other tips on this StackOverflow post to fix auto-completion quality issues:
References
It should be expected by now that Eclipse requires tweaking and plugins to get to a productive state anyway.
If you want something that works out of the box, I suggest giving a try to IntelliJ IDEA.