Should I convert to IntelliJ?

As of now I’m using Eclipse but I’ve heard IntelliJ is much more convenient. I’d like some opinions on it before I have to convert all my projects over. Also wondering is it worth it to pay the subscription for IntelliJ Ultimate or would the free Community edition be fine?

I’ve been using Eclipse for quite a while since when I was still learning Java a majority of the tutorials were done using Eclipse and naturally at the time I didn’t know nor think to look at other alternatives. Now I’ve been programming in Java for a while, still a beginner though relatively around 6 months or so. I’m starting to read online that IntelliJ is much more efficient for working. I want some opinions on this first before I dive straight in and go through with converting all my current projects.

I tried out IntelliJ Community Edition some time back. I ended up switching back to Eclipse when Ore refused to compile without the special plugin in the Ultimate Edition. I decided not to use the Ultimate Edition not just because it’s paid, but because it’s closed source (I’m quite biased toward open-source projects). However, with those exceptions, IntelliJ’s pretty nice. I even thought of some plans to make a custom plugin to add the features I needed before discovering that I would have to implement the entire Ultimate Edition to satisfy some plugins.

On the other hand, Eclipse also has its faults. In particular, the EGit plugin reimplements Git in Java, but misses out on certain features like PGP signing, and the Eclipse Java compiler has quite a few inconsistencies with javac.

So if you’re good with closed-source and paid, use IntelliJ Ultimate Edition. If you’re okay with fewer features but a faster workflow, use IntelliJ Community Edition. If Eclipse’s glotches don’t affect you, use Eclipse. Otherwise… maybe experiment with creating your own IDE? :stuck_out_tongue:

It’s probably worth noting that you can usually pick up a free ‘open source’ license for Ultimate if you already have an established project.

It was a simple process of linking to the project’s github, project page, and license on the jetbrain web form.

As someone that has used both, I find IntelliJ to be more convenient. It’s normally faster and gives you what you need the most easily. However, there are also some faults. For one I feel like I need to search a bit more for it when I need something that is not as often used than in Eclipse. There is also the formatter that in my opinion is horible, and I still keep eclipse around just so that I can use the eclipse formatter. I’ve seen several times that the IntelliJ formatter has as much as broken my code to the point where it no longer compiles. There also aren’t as many options there.

In general I would say that if you want a stable(altough a bit slow) and customizable IDE, go for Eclipse, but if you don’t care that much about those things, go for IntelliJ.

Also, it doesn’t really hurt to just try it first and see if you like it. Give it a spin for a week with a few projects and see how it goes.

There have been flame wars time and time again about Eclipse vs. IntelliJ, and both are decent, but I feel they’re targeting slightly different audiences. I’ll list some pros/cons below.

IntelliJ

Pros:

  • Out-of-box support for:
    • Gradle
  • Maven
  • Kotlin
  • Groovy
  • GUIs
  • And more
  • Autocompletes like a boss, start typing anything and a list of what you probably need pops right up
  • I personally prefer its GUI
  • Able to open/convert eclipse projects easily
  • If a feature isn’t there, one of the many plugins probably supports it
  • Python, Scala, and CoffeeScript are all available from plugins

Cons:

  • Very geared towards Java and the JVM, it doesn’t like the web or many other languages (I’m not saying it can’t support them, and their are some very well made plugins out there, but those plugins are rare, and most of the custom language plugins are languages I’ve never heard of before)
  • It indexes all files in a project before allowing you to edit them, so if you have a very large project, startup time is impossible
  • Sometimes the different frameworks it supports don’t mix well, for example, if your using the GUI designer and gradle, you have to tweak a bunch of settings and add some dependencies in the build.gradle

Eclipse

Pros:

  • Its a basic IDE that works well
  • A huge variety of plugins, literally anything you need is in their plugin repository (Which kind of makes the cons list obsolete)
  • Supports a much larger variety of languages than IntelliJ (usually through plugins)
  • Supports multiple projects in one window
  • Can load massive projects, as it doesn’t index the files on load

Cons:

  • A lot of the time, if you want a feature, you need to find the plugin that makes it happen
  • Autocomplete is fairly deplorable
  • I feel the formatter can be funny at times
  • I personally dislike its GUI

There’s no way I’ve touched on every feature of both IDEs, but I personally started with eclipse, like you, because all the tutorials used it. Later on, someone told me I’d like IntellIj more, so I tried it and haven’t gone back since. I’m not saying eclipse is worse, its just not for me.

I’ve been in your exact situtation before, and thought that IntelliJ was stupid. Worked with Eclipse for seven years. About two months ago, my Eclipse install broke and refused to launch. Tried IDEA just for the heck of it and haven’t gone back since. It doesn’t have any of those problems that you learn to watch out for in Eclipse. For example, it has perfect autocompletion, it doesn’t make things hard to find, its Java 8 awareness isn’t broken, and it has a lot more ease of use with things like Git. Oh, and if you want to write something with the official Eclipse Scala plugin, you may want to hang a sign saying ‘bang head here’.

I know a lot of people here are trying to give their views on Eclipse vs IntelliJ, and I don’t have much to add to these lists. I’m just going to say simply try it. Remember that, while valid, pros and cons that people have here are all (generally) opinions.

At this moment in time, no, it is not worth paying for the Ultimate edition, but I base that on why you are asking the question, not on the toolset.

If you’re just making Minecraft plugins, I see little benefit in trying to jump into the Ultimate edition straight away, and in most cases, at all. I suggest using IntelliJ Community Edition, getting to grips with it, see what you think before committing to a subscription.

Yes, JetBrains offer a 30 day trial for Ultimate, but I only suggest trying that once you’ve gotten used to Community and you think you’re going to stick with IntelliJ. If you then give the trial a go, you can see if you think the extra features are worth it, and make an informed decision then.

If you’re planning on creating a web application, or contributing to something like Ore, then like @JBYoshi said, you’ll realistically need the Ultimate edition if you want to use IntelliJ. Again, there is a trial version, but 30 days isn’t nearly enough to really settle with an IDE really - at least in my experience - so I suggest using the Community Edition to write plugins first, to get used to the IDE, and think about web apps later.

So, quite simply, my advice right now is that you should not consider paying for a subscription yet. It’s relatively simple to evaluate this choice before taking a financial commitment. I’d hate to see you spend money on an IDE that others have recommended, only for you to find that it’s not for you.

I’ll definitely take all these into account and look forward to trying it out. As I continue on coding with Java I think it’s important to know and be comfortable with the tool(s) you’ll be using every day, which actually would apply for about any career actually. I’ll be downloading it today and start by switching to one of my smaller projects over and see how it works for me.

So far some pros and cons imo between IntelliJ and Eclipse imo that I’ve looked at without installing is : I really like IntelliJ’s dark theme, Eclipse’s default them hurts my eyes after coding for hours on end, and though there is an option for a dark theme but I’ve found it doesn’t really work all that well. I’m not going to like that you can’t work on multiple projects within one window. IntelliJ autocomplete seems better but I’ll wait until I actually try it out myself before giving a full opinion on it.

1 Like

You actually can work on many projects in one window. Eclipse workspace = IntelliJ project. Eclipse project = IntelliJ module.
And even then, you can configure it to have multiple IntelliJ windows open at once, even if they’re separate projects.

Won’t give you so me long list of pros/cons of each IDE. I will say that I personally use it, as does @Zidane, and honestly could never see myself using Eclipse in its current form with IntelliJ available.

Note that I do have Ultimate (Open-Source license) but before this I found Community Edition met all my needs.

My advice to you is simply try it out and see if it is for you.

I have since tried it out and it definitely does seem great, the transition isn’t too bad and it even has support for importing eclipse projects. It’ll take some getting used to knowing all the new keybinds and where other tools and such are located( It took me about half an hour at least looking for the gradle window :stuck_out_tongue: ). Going to continue using it for a while but I think ultimately I might actually switch everything over.

Just as a note to watch out for as you get used to the new keybindings. Some keybindings from eclipse might do something COMPLETELY different in IntelliJ. One mistake that I still make a few times myself is that in Eclipse Ctrl + Y is undo, but in IntelliJ it’s the keybinding to delete the current line.

Just watch out a bit.

1 Like

I’m pretty sure somewhere in the settings there’s a keybind remap page, and you can click a button to change all the keybinds to Eclipse’s.