List of resources for those trying to make the switch from Eclipse to IntelliJ IDEA:
- Key Promoter, a plugin that tells you what the keyboard shortcut is for every mouse action you perform.
- The printable IntelliJ IDEA default keymap and Mac keymap
- Eclipse-IntelliJ Keymap Cheat Sheet
- ZeroTurnaround's rather excellent (and extensive!) article Getting Started With IntelliJ IDEA as an Eclipse User
- Video: 42 IntelliJ IDEA Tips and Tricks. Watch this. Regularly.
- If you have IntelliJ IDEA power users near you, get them to install Presentation Assistant so you can see all the shortcuts they're using.
- If you want, you can also use the Eclipse keymap and the Eclipse compiler.
- There's an extensive JetBrains article on Migrating from Eclipse
- Check out Keyboard Shortcuts You Cannot Miss and DZone's IntelliJ IDEA Refcard
- Some of my own presentations are live coding using lots of IntelliJ IDEA features, watching them might give an idea of what's possible. For example AngularJS, HTML5, Groovy, Java and MongoDB All Together, Java 8 in Anger and Refactoring to Java 8.
- I've written a few tutorials about specific topics performed in IntelliJ IDEA: Introduction to Refactoring, Test Driven Development, and Migrating to Java 8.
In the slides above, there's a section "The Power of IntelliJ IDEA" with no content - that's because that's a place for a live demo of working with IntelliJ IDEA. To create that demo, I jotted down some topics that I think are interesting in IntelliJ IDEA, which are worth making a note of here:
- IntelliJ provides Contextual Aid - hints, tips, help and advice at the point at which you need it. For example:
- Code completion
- The magic Alt+Enter to show intention actions
- Postfix completion
- Gutter icons, such as icons to run tests, show implementations of a method, display the Functional Interface for a lambda expression, etc.
- Inspections are automatically run for the current file and shown as warnings, which you can usually fix with a quick fix.
- Live templates might be one of my favourite features - both built in (try
iter) and custom.
- Refactoring (check out my Refactoring Tutorial).
- Inspections were mentioned above, but as well as having the results on the current file, you can customise what you're looking for and the scope to check. They're very powerful for helping to either keep your code clean, or improve it further. I've written a tutorial on how to use them to help migrate your code to use Java 8 idioms.
- The Debugger is powerful but easy to use.
- VCS support is sufficient for most everyday use, and every new release adds more features. If in the past the VCS support didn't do what you wanted, give it another try now, it's constantly evolving.
- Also interesting for most developers is the Gradle & Maven integration, and running tests with code coverage.