Beginning about 2 weeks ago, I officially began trying out IntelliJ IDEA due to exasperation with Eclipse.

I can finally comfortably say that I have fully and officially switched.

It all began when Eclipse decided to betray me and blow up in my face, destroying my workspace and erasing all my settings. That was the final straw for me. I had already been interested in IntelliJ IDEA earlier, especially with their new Darcula theme, which is *much* sexier than any other theme they had.

Other virtues of IDEA are its SUPERIOR editor, including the smarter Intellisense. The UI is also very well organized and the settings are very customizable. I could go on listing how it's much better in many ways.

Of course, it's not all roses and rainbows. The only complaints I have so far are its lack of an option to keep tabs on blank lines and the lack of a "Favorite" feature like Eclipse does with static imports. Part of my weird self-imposed strict formatting rules is to keep tabs on blank lines at the same level as if there were code there. IDEA's formatter strips them. Eclipse has an option to keep them in the formatter. Thankfully, a nice workaround was that I found a plugin that used the Eclipse formatter and all was well again.

The Favorite feature in Eclipse allows you to set a bunch of classes for whose static methods you would like it to auto-detect when you begin typing them. For example this is especially useful with LWJGL functions: I begin typing glGenBu... and it finds it, statically imports org.lwjgl.opengl.GL15.* and I'm happy. There is no such equivalent feature in IDEA, but this has not be a problem for me really since I already know where the functions are and hitting Alt+Enter+Enter (yes, enter twice) with the class highlighted will statically import the class in IDEA.

If anyone decides to try it out, you will notice that the keymap is very different than Eclipse's. Fear not! There is already an Eclipse pre-set that you can switch to in Settings -> Keymap. With that and a couple more customized settings, I was able to have the shortcuts I was comfortable with

Of course, this post wouldn't be complete with a screenshot (click for better view):

Only visuals changed are a couple syntax colors and the font is DejaVu Sans Mono.

How much is IDEA these days? I tried it a few years ago but nothing really convinced me to part with hard-earned moolah over Eclipse. I don't use/need any "enterprise" features or GUI designers anyway.

Is there a "killer" feature? Or is it just a matter of many small improvements?

"I have never done unit testing and I don’t find it a very useful concept" - Jonathan Blow

lack of an option to keep tabs on blank lines and the lack of a "Favorite" feature like Eclipse does with static imports. Part of my weird self-imposed strict formatting rules is to keep tabs on blank lines at the same level as if there were code there. IDEA's formatter strips them. Eclipse has an option to keep them in the formatter.

Not sure why you need that. Press <end> on an empty line (or <enter> on the line before) and the caret will move to the correct indentation level for the current scope.

The Favorite feature in Eclipse allows you to set a bunch of classes for whose static methods you would like it to auto-detect when you begin typing them. For example this is especially useful with LWJGL functions: I begin typing glGenBu... and it finds it, statically imports org.lwjgl.opengl.GL15.* and I'm happy. There is no such equivalent feature in IDEA.

Try glVAP <ctrl> + <double space>. You'll still have to do the static import intention, but I bet that just blew your mind.

How much is IDEA these days? I tried it a few years ago but nothing really convinced me to part with hard-earned moolah over Eclipse. I don't use/need any "enterprise" features or GUI designers anyway.

Is there a "killer" feature? Or is it just a matter of many small improvements?

The Community edition is free and good enough for anything, unless you do web development. The killer feature is its editor.

- Disable any plugins that are not useful to your work.- Configure inspections to your needs. The best approach is to use a different set of inspections for on-the-fly editor highlighting and a different one for "offline" analysis.- Same for intentions, you may want to disable the uninteresting ones.- Disable or tune the delays of the automatic re-parsing / code completion / parameter info popup.

lack of an option to keep tabs on blank lines and the lack of a "Favorite" feature like Eclipse does with static imports. Part of my weird self-imposed strict formatting rules is to keep tabs on blank lines at the same level as if there were code there. IDEA's formatter strips them. Eclipse has an option to keep them in the formatter.

Not sure why you need that. Press <end> on an empty line (or <enter> on the line before) and the caret will move to the correct indentation level for the current scope.

The Favorite feature in Eclipse allows you to set a bunch of classes for whose static methods you would like it to auto-detect when you begin typing them. For example this is especially useful with LWJGL functions: I begin typing glGenBu... and it finds it, statically imports org.lwjgl.opengl.GL15.* and I'm happy. There is no such equivalent feature in IDEA.

Try glVAP <ctrl> + <double space>. You'll still have to do the static import intention, but I bet that just blew your mind.

It's still super annoying when putting the cursor in general. Requires me to remember to hit End every time.

I disabled Ctrl+Space because Smart Type is better. Also someone else told me about Ctrl+Alt+Space, which works much better!

The only reason for why I use IDEA at work is because it's the only ide that can run the projects we use. Eclipse just sucks with Maven projects... just plain pure sucks. But IDEA can open a multi-module maven project no problem.

However, IntelliJ IDEA is far inferior to Eclipse when it comes to coding, refactoring, navigating the source code. But this can be just what you're used to. I've never felt at home writing code using IDEA, because the text editing mode is different from any other text editor, slow gui, etc.

If you have a plain Java project, Eclipse is the way to go. But if you got a complex project... Eclipse can suck.

The thing with Eclipse is the many versions of it. You can download like a dozen different versions of it, and you have to install plugins just to get basic functionality like maven support. And those plugins almost never work as expected. Eclipse is a plugin fiasco. Is it too much to ask to have one editor that works?

The strength of getting an out-of-the-box IDE from a vendor like Jetbrains is that they incorporate all those things into one IDE and make sure it works.

But thankfully, most of my work doesn't involve Java, but Javascript, html, and such. So I can easily use Sublime text editor... which is wonderful to use:http://www.sublimetext.com/

However, IntelliJ IDEA is far inferior to Eclipse when it comes to coding, refactoring, navigating the source code. But this can be just what you're used to. I've never felt at home writing code using IDEA, because the text editing mode is different from any other text editor, slow gui, etc.

One of the biggest reasons I switched was the editor, so I quite disagree with this. What is inferior in coding, refactoring, and navigation? I found them much easier and nicer than Eclipse! And for some reason, especially with the new dark Darcula theme, I've felt very much at home with it.

I am using the Community Edition, and it's up to date. The look'n'feel is something like from the 1980's.

And the keyboard shortcuts are idiotic:

ctrl+d (deletes current line in eclipse)ctrl+d (duplicates current line in idea)

the "d" is most often attributed to "delete" and not "duplicate". In "vi" this applies, and other editors as well. The cases where you wish to duplicate current line are FAR FEWER than the cases in which you want to delete the current line, yet Jetbrains decided it was more convenient having to do "ctrl+y" to delete current line rather than "ctrl+d"... yes, go a head, try that on your keyboard to see which one is easier to do. Personally I have to flex my entire hand to be able to "ctrl+y", but I can do "ctrl+d" with ease.

There are many other subtle things that make IntelliJ inferior to Eclipse. Renaming a variable where your caret is, requires doing alt+shift+r in eclipse, but in IntelliJ IDEA? It requires the excruciating shift+f6. These Jetbrains guys must have really really big hand if they're able to do that with ease. It is like they decided to put your left hand through hell by moving most common keyboard shortcuts to crazy locations.

Do they know what they are doing in other aspects of their IDE when they can't even make common keyboard shortcuts comfortable to use? The human-interface factor is poor in IDEA, and this is reflected everywhere.

Performance is strange as well.Right-clicking ANYWHERE in IDEA requires my computer to do strange work every time, making the context menu appear maybe 500-1000 ms. later than instant. And sometimes out of the blue a lot of background work is being done, something I never asked for.

ctrl+d (deletes current line in eclipse)ctrl+d (duplicates current line in idea)

the "d" is most often attributed to "delete" and not "duplicate". In "vi" this applies, and other editors as well. The cases where you wish to duplicate current line are FAR FEWER than the cases in which you want to delete the current line, yet Jetbrains decided it was more convenient having to do "ctrl+y" to delete current line rather than "ctrl+d"... yes, go a head, try that on your keyboard to see which one is easier to do. Personally I have to flex my entire hand to be able to "ctrl+y", but I can do "ctrl+d" with ease.

I never use either. ctrl+c without any selection copies the entire current line. I then paste (ctrl+v) to duplicate. Same for delete, either ctrl+x (cuts the entire line) or shift+delete (deletes entire line).

Performance is strange as well.Right-clicking ANYWHERE in IDEA requires my computer to do strange work every time, making the context menu appear maybe 500-1000 ms. later than instant. And sometimes out of the blue a lot of background work is being done, something I never asked for.

I can't comment on performance without knowing specifics about your setup, but I definitely don't see this happening locally. Also, I will gladly trade a slight performance penalty for extra features. Right-click in source code == context helps refine the list of options available. Context-sensitivity is something that IDEA gets right and does better than any other IDE.

Obviously there is a trade-off to be made here between performance and features and that's a personal choice. But horror stories about performance are usually the result of some broken plugin or wrong setting.

About the LnF, Darcula's contrast is not enough for my eyes. I use Swing's native OS look'n'feel (Windows in my case) and it looks fine to me.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org