Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.
See all our reports

Getting Started with IntelliJ IDEA as an Eclipse User

Chapter II: Getting comfortable with IDEA’s Keymap, Navigation and Settings

Get ready to make a list! In this chapter, we go over in detail all the shortcuts you’ll need to effectively get started with IDEA, and highlight the major differences that might befuddle Eclipse users at first…also, we have a couple cheatsheets for you. Just click on each image below to enlarge and print!

IntelliJ IDEA as eclipse user cheat sheet part 1

IntelliJ IDEA as eclipse user cheat sheet part 2


The Keymap

Key bindings is something that gets welded into the backbone of developers—this is probably one of the hardest parts about migrating to one IDE from another. The most painful thing is when you hit a shortcut that performs a completely different (and often harmful) action than what you expect. If you are Eclipse user, try hitting Ctrl+D / Cmd+D in IntelliJ IDEA: you will realize the issue immediately!

Of course, you can change the bindings of your keymap in IDEA. This is as simple as pressing Ctrl+` and selecting a preferred keymap. You can select between Eclipse, NetBeans, Emacs key bindings and some more.

IntelliJ IDEA as eclipse user keymap switch

Even though you can change the key bindings to the ones from the IDE that you’re familiar with, it doesn’t seem to be a good idea.

IntelliJ IDEA as eclipse user Erkki
“What I screwed up when trying IntelliJ IDEA is that I changed to Eclipse shortcuts and then I didn’t know what the key for Alt+Enter is.”
ERKKI LINDPERE – Typist

IntelliJ IDEA as eclipse user Oleg
“I went over keymap and assigned the most wired key-bindings from my Eclipse days. Especially if they didn’t collide with anything important.”
OLEG SHELAJEV – Software Developer


As we figured, the best strategy is to stick with the default key bindings and only change those handful of shortcuts that are really welded into your muscle memory and you can’t help yourself but hitting the wrong keys.

There are many shortcuts in IntelliJ IDEA, for navigation, editing, refactoring and more. In the following section, we’ll go over the most important key bindings that you most likely will need.

Before we proceed to the main part, let’s bring up the shortcuts that cause the most annoyance to ex-Eclipse users.


Ctrl+W / Cmd+W

One single shortcut that probably annoys Eclipse users the most is the block selection shortcut. Ctrl+W / Cmd+W is used to gradually expand the selection of code.

IntelliJ IDEA as eclipse user Adam
“I wish Ctrl+W did what I expect it to do :(“
ADAM KOBLENTZ – Senior Pre-Sales Engineer

IntelliJ IDEA as eclipse user Hadi
“We also are now trying to promote OSX 10.5+ keyboard binding on OSX to make OSX users feel more at home.”
HADI HARIRI – Software Developer


Yeah, indeed, Ctrl+W is usually used to close a tab or a window of an application. And IDEA decided to reserve this shortcut for something else: code selection.

But hey! The reason you want to use Ctrl+W / Cmd+W is actually irrelevant if you learn the zen of not closing the tabs — we’ll cover that in the Dealing with Tabs part later. If you develop a habit when you don’t have to close the tabs, you can then use Ctrl+W / Cmd+W for something else, i.e. for code selection.


Ctrl+D / Cmd+D

This is, arguably, the second most-annoying shortcut. In Eclipse, this shortcut is used for deleting the line. In IntelliJ IDEA, ‘D’ stands for ‘duplicate’. To delete a line, use Ctrl+Y / Cmd+Y instead.


Ctrl+S / Cmd+S

IntelliJ IDEA as eclipse user Oleg
“You should be aware of the auto-save feature and know what are you doing to enjoy it. For example, our small Play 1 application tries to reload everything when IDEA saves file (because it works on the source code level). In the same way I suspect any interpreted language behaviour somewhat cripples the usefulness of autosave.”
OLEG SHELAJEV – Software Developer

You do not have to save changes in IDEA: autosave works incredibly well. Just forget about saving the files as if it is a bad habit. Stop. Hitting. Ctrl+S.

IntelliJ IDEA as eclipse user Boromir meme


Download the PDF

  • Jérôme

    Hi,

    This is fine, IDEA might be greater than Eclipse, it does not provide any RCP framework.
    This is one of the reason why people are still using Eclipse : it is not only a matter of developping applications but also to have an ecosystem you can build applications on.

    Regards,

  • arhan

    The article takes a look at IntelliJ IDEA form the perspective of an IDE user. RCP is a whole other niche and Eclipse excels there that’s for sure. NetBeans is another RCP platform you might want to take a look at. IntelliJ IDEA – not an RCP for sure, but it is turning into a platform for building programming-oriented tools.

  • Jérôme

    Sure. I mean it is too bad. Because, while tempted to adopt IDEA for
    development because it is clearly superior, you often try to minimize
    the investment in learning tools and hence with RCP development you
    usually to stick to the IDE that offers RCP features as well.

  • Johnny

    Mr. ARHIPOV, if you are not sponsored by RUSSIAN company JetBrians, I’d say both Eclipse and Intellij are good IDE. To be honest I have been using IntelliJ and Eclipse for over 12 years. And now I use intellij mostly at work because I am forced to so. As IDE they are very close. For example Intellij’s search is better but eclipse’s debugger is better. Refactoring was shining feature for intellij but it isn’t much better than Eclipse any more.

    And also Intellij is basically an IDE. Do not compare Intellij with Eclipse’s frameworks.

  • arhan

    Hello!

    Haha :) No I’m not sponsored by JB. My sponsor is ZeroTurnaround :)

    I wonder what made you think that my article claims the superiority over Eclipse? Of course, for me IDEA is superior – but that is a subjective judgement and I’m not saying a word on IntelliJ vs Eclipse in this article.

    I know Eclipse pretty well and I know that there are features in debugger that Intellij lacks. There are features in IntelliJ debugger that Eclipse lacks too. So there’s no aim at comparing the IDEs in the article.

    Pointing out the tiny differences is a subject of flamewars in comments to the Reddit posts, not at RebelLabs, IMO.

  • Apa

    This is religion taking over rational thinking. There’s no point in telling or showing Eclipse users that IntelliJ is superior in every field – which it is. They need to find that out by themselves the hard way.

    RCP sure but who cares? If your are tying frameworks to a specific IDE you are doing something seriously wrong. Investment in learning? Sure it takes a few days but considering that dont ever need to look back or elsewhere for next 10 years I’d say it offers a good payoff.

  • Jatin

    Very well written. I am myself an Intellij fan and only go back to eclipse when I code in scala (sadly scala support is a bit better in eclipse).

    There were many useful shortcuts that I was not aware of. Thanks for them :)

  • Yona Appletree

    Interesting that you find Eclipse’s Scala support better. I’m a Scala developer by day and my entire team uses IntelliJ. We actually switched from Eclipse because IntelliJ seemed to handle Scala better. Specifically, it had better syntax highlighting, error reporting, refactoring and integration with Maven in Java/Scala projects.

  • Jatin

    Hmm I have heard this from another person also recently. There are few things where I think eclipse excels better: showing exact implicit function when an implicit transformation happens (afaik intellij doesnt show this), better worksheet, syntax highlighting (personal choice :))

  • elf

    Then i come to idea. I miss very comfort eclipse typing model, when u finish method eclipse place cursor after closing brackets and I type Semicolon and Enter.
    Eclipse preserve ability to change parameters list.
    Idea place cursor in brackets, thats break me down. I need to pess End or Right arror, they very far for me. I hate this.
    Is this configurable?

  • arhan

    Isn’t ; disabled in Eclipse by default so that you have to explicitly enable that?
    In IDEA, to complete statement they have a shortcut: Ctrl+Shift+Enter / Cmd+Shift+Enter.
    It is a matter of taste, which one is better, typing, or pressing a shortcut. For me, the shortcut semantics (pressing the specific shortcut) is better since I clearly indicate the intent.
    Typing a character inside brackets and pressing enter and then expecting the statement to close is sort of an implicit semantics and looks rather like a hack.

  • elf

    My mistake. By Enter i mean new line. Before it need press Enter to complete statement, and now Semicolon and Enter.

    Thanks, i will try shortcut.

  • James

    On a mid to mid-low configured machine, the latest version of Idea (14) feels a lot more sluggish than Eclipse (luna). The UI lags (menus, indexing, autocomplete). Eclipse feels like a native Win32 application built for speed, second only to Visual Studio, which is truly a performance gem, a piece of engineering marvel. Idea is slower than Eclipse (currently), and laughably slower than Visual Studio.

    I can appreciate many of Idea’s clever refactoring features, but being a capable Java developer without ADHD and as someone who plans fairly well before coding, and can think of outstandingly fitting names of classes, methods and variables, and can design perfect method signatures all the time, I don’t need them. Mostly never.

    But the sluggishness of the UI (while editing more so) is a nightmare to put up with, especially when compared to editing in Visual Studio, Vim, Eclipse, Sublime etc. I don’t understand why it stalls when opening a 10,000 line file while Visual Studio / Eclipse does not. It also comes to a grinding halt when opening, say, 50 files each with 20,000 lines. It starts to crawl.

  • Pablo Sánchez

    All I wanted was a few things… and I did. Hightly customizable. Check my settings here:

    https://github.com/phackwer/MidnightDevilIntelliJ

  • Eduard

    What’s up with the next page links? They redirect to the start page.