Things possible in Eclipse that aren’t possible in IntelliJ? [closed]
I have heard from people who swear by one or the other. Both are full-featured, excellent IDEs. But each has slightly different strengths. This is not meant to turn into a holy IDE war. Please downvote any flamebait answers. Thanks.
This is the analog of this question.
My favourite small annoyance in IDEA (and favourite small feature in Eclipse) is the positioning of the character when typing an opening curly brace (e.g. "{") or a semicolon. You'll have to enable it in Eclipse (Window/Preferences/Java/Editor/Typing: "Automatically insert at correct position: Semicolon, Braces")
With this just type ahead ("|" is the caret position)
while(|
results (no magic yet) in
while(|)
now type true{, results in
while(true) {|
So simple, yet so powerful.
Also, in (e.g.)
System.out.println("Hello world")
with the caret anywhere in that line, typing a semicolon will automagically type it at the end of the line. Backspace corrects, just like the usual autocorrection in your favourite wordprocessor.
Priceless. I'm physically no longer able to type a semicolon at the correct position on first try :)
Eclipse's incremental compiler lets you run unit tests even while there are compiler errors in unrelated code. IntelliJ relies on javac which doesn't emit bytecode unless all the code is valid.
I tried to switch to IntelliJ because of the new Android Studio. But I'm very disappointed now. I'm using Eclipse with the Code Recommenders Plugin. Here is a simple example why Eclipse is so awesome:
I want to create a new SimpleTimeZone
. SimpleTimeZone
has no Constructor with zero arguments.
Ctrl + Space in Eclipse
Ctrl + Space in IntelliJ
In IntelliJ I get no informations what kind of constructors SimpleTimeZone
has.
After Enter in Eclipse
I get the previously selected constructor filled with predefined variable names. And I can see the type of every argument. With Code Recommenders Eclipse guesses the right constructor by the previously defined variable types in the current scope and fills the constructor with these vars.
After Enter in IntelliJ nothing happens. I get an empty constructor. I have to press Ctrl + P to see the expected arguments.
or try something simple. Type
syso<Ctrl+Space>
Eclipse: System.out.println()
IntelliJ: syso
As far as I know there is no alternative to Eclipse's excellent Mylyn task plugin in IntelliJ.