IDE thoughts

I’m a huge advocate of no mouse. The mouse is extremely slow and cuts my productivity by large amounts. I’m also a heavy IDE user and therefore my IDE has to allow me to get as much work done without the mouse as possible. I’ll be comparing IntelliJ and Eclipse right now and when I get free time I’ll go back in and add NetBeans.

NOTE: This is NOT a comparison of features/plugins/downloads at all. I refuse to get caught up in the mess of IDE features/plugins/downloads at all.

Let’s get started:

Text editing

There are a handfull of commonly used text editing commands that will help not have to use the mouse.

  1. Jump over words (camel case is a plus)
  2. Select words
  3. Delete words
  4. Jump to next method
  5. Jump to next error
  6. Select line
  7. Copy, cut, paste line
  8. Delete line without putting it on the clipboard
  9. Multiple clipboards and pasting support for them
  10. Select page-up and page-down
  11. Contextualize newlines (if you are in a comment and hit enter it ensures correct comment formatting)

How do the IDEs stack up for editing?

Eclipse

Supports: 1, 2, 3, 4, 5, 6, 7, 8, 10, 11
Eclipse’s support for 1 doesn’t support camel case in other languages unless those editors support it. It also doesn’t treat certain characters like single quote as words, which is slightly annoying because it forces you to hit the arrow key without ctrl a few extra times to select a String constant.

Eclipse’s support for 4 only works with Java code and other languages that have added this feature.

Eclipse doesn’t appear to support multiple clipboards from what I could tell.

Eclipse’s support for 10 is strange. When you hit page-down it sometimes scrolls so that the selected region is completely off the screen making it difficult to visually determine if you have selected anything.

Eclipse’s support for 11 is broken if the Java file you are working it has compile errors.

IntelliJ

Supports: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
IntelliJ supports all of these features but has very little support for other languages.

IntelliJ’s support to 10 is nice because it leaves a single line of selection at the top of the page that let’s you know you have selected something.

Searching

Here are the main search and replace tasks:

  1. Find in file
  2. Incremental find in file
  3. Replace in file
  4. Replace all in file
  5. Find in project
  6. Find in workspace
  7. Replace in project
  8. Replace in workspace
  9. Full regex
  10. Highlight code element in file
  11. Find usages in project
  12. Find usages in workspace

Eclipse

Eclipse supports 1, 2, 3, 4, 6, 8, 9, 10, 12

The way eclipse does 2 is really annoying because there is only a single visual change when you enter incremental search mode and that is in the status bar on the bottom of the screen. Then as you type your characters appear in this location as well. This is pretty cumbersome to use.

I also couldn’t figure out how to make Eclipse locate things in just the current project. I’d assume it is there, but I didn’t go digging. Highlighting in the current file is simple because if the cursor is on something, that word is highlighted in the file. Pretty slick. A little annoying, but not bad. I also think ctrl-shift-u works, but there are three options ‘identifier, throwing exception, implementing methods’ which I haven’t figured out.

IntelliJ

IntelliJ supports all of these with the keyboard. Everything requires a keystroke, unlike Eclipse’s auto-highlight. Not sure if that is a good or bad thing yet.

Navigation in code

Here are the main quick features that allow you to jump around code quickly.

  1. Next open file (tab order because last viewed order is covered via the back command below)
  2. Previous open file (tab order)
  3. Back
  4. Forward
  5. Goto method
  6. Goto method implementation
  7. Goto class
  8. Goto parent class
  9. List and goto implementations of interface
  10. List and goto implementations of method

Eclipse

Eclipse supports 3, 4, 5, 7, not 1,2, 10, 6

IntelliJ

IntelliJ supports all of these with simple keystrokes. IntelliJ doesn’t support moving between editors in a most recently viewed order.

3 thoughts on “IDE thoughts

Leave a comment