For many years Eclipse has occupied the center of my Java development universe, but recent discussions and events have renewed my interest in learning more about IntelliJ IDEA. So, for the past month, I’ve used it almost exclusively, only going back to Eclipse when necessary. It’s been an interesting little adventure and I’m beginning to understand why some speak about IntelliJ IDEA effusively.

Here are some of my thoughts.

Pro (what I like it, or what I find intriguing)

  • version control is less obtrusive
  • inline regexp testing
  • maximal use of vertical and horizontal space
  • search for menu and shortcut commands
  • ant-style paths for finding files
  • version control notifications in the file (e.g., repo is newer)
  • subversion branch selector
  • auto-load log files when executing an application
  • copying a file in the IDE also marks it as an svn copy
  • the UI for finding text within a file is unobtrusive

Con (what bothers me, or what I don't understand)

Please note: It’s entirely possible that the following items are configurable. I’m not there, yet.

  • no file icon decorators for indicating version control status (coloring of the filename isn't explicit enough for me yet)
  • not always clear when its busy doing something (e.g., updating version control for a diff)
  • cannot configure different classpaths for different run configurations of the same module
  • svn switch is not discoverable (hidden under "update")
  • Ivy integration is feels weird and not transparent (i.e., it's not clear to me how it works)
  • not used to version control being so minimalistic (I keep trying to find the "guts" of it)
  • shortcut for closing a file is ridiculous
  • does not adhere to hosting platform's text editing/selection behavior
  • documentation for Eclipse users is lacking detail (sorry, but an Eclipse "workspace" is not the same thing as an IntelliJ IDEA "project")
  • pop-in font anti-aliasing is jarring and reminiscent of bad game texture pop-in