Eclipse 3.4 - Essential hotkeys

This is the third part of my Eclipse configuration series. At work we have a new guy who never has used Eclipse before, so he's a little lost when it comes to navigating the code base. I tried to write down a list of hotkeys that would make his life easier, but there are so many of them! Here is a list of my favorite hotkeys grouped by the area of use. I really tried to keep the list short but some shortcuts you just can't live without.

General

  • ctrl+space - The most important hotkey of them all, auto complete.
  • ctrl+m - Maximize the current view.
  • ctrl+3 - Open preferences or any other view.

Navigation

  • f3 - Open declaration.
  • ctrl+o - Quick outline of the class files, great for navigating within a class quickly.
  • ctrl+t - Open the type hierarchy.
  • ctrl+shift+g - Get a list of all methods that calls the current method.
  • ctrl+k - Next occurrence of the currently selected text.
  • ctrl+. - Goto the next error or warning, use ',' for the previous.
  • ctrl+shift+r - Open a resource.
  • ctrl+shift+t - Open a type.
  • ctrl+q - Goto last edit position.

Refactor and source generation

  • ctrl+1 - Quick fix! A lot of great functionality.
  • ctrl+2, L - Extract selection to local variable.
  • ctrl+alt+r - Rename the current variable, method or class
  • ctrl+shift+o - Add imports for unknown classes and remove unused.
  • ctrl+shift+m - Try to import the class that the cursor stands on.
  • alt+shift+s, r - Generate setters/getters from fields.

Previous posts

jQuery Column Iterator Plugin

Today i needed a jQuery plugin that could iterate over all cells in a column of a table. Since our tables can be very large i didn't want to use the jQuery column cell selector plugin since it creates a lookup table. We won't use rowspan in the tables anyway so i made my own column iterator.

A demo can be found at:
   http://slackers.se/resources/demo/columniterator/demo.html

The plugin can be downloaded at:
   jquery.columniterator.js
   jquery.columniterator.min.js

Eclipse 3.4 - Even more efficient use of auto complete

The auto complete feature in Eclipse is a real time saver. Not many people know that the feature can be used event more efficiently. I've worked with Eclipse every day the last couple of years and i didn't know about this until a few days ago when i "discovered" it by accident.

A single capital letter matches itself and then everything until the next word. Actually it's more similar to [a-z0-9]* than "everything". In other words, you can search for, or auto complete, entire words with just one character.

For example the string "RR" matches the classes:
   ReportRepositoryBean
   ReportResult
   ReportResultImpl

The feature can also be used with the shortcuts:
  • ctrl+shift+r - Open Resource
  • ctrl+shift+t - Open Type

iTunes blocks JBoss naming service port

Today I had problems with Eclipse and JBoss. Somehow Eclipse couldn't detect that JBoss had started and aborted the process after 420 seconds and i noticed the exception in the log.

2000-06-03 80:23:11,220 ERROR [Naming] Could not start on port 1099
java.net.BindException: Address already in use: JVM_Bind



After a quick check with Active Ports i saw that iTunesHelper.exe held the port. And when the process got killed, Eclipse started working as expected again. 1099 might have been assigned to iTunesHelper since it's inside Windows' ephemeral port range. Just to be sure this doesn't happens again I removed the auto start of iTunesHelper from the registry.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\iTunesHelper 



And adjusted Windows' ephemeral port range so that some other service doesn't grab the port. There's a great guide over at ncftp.com on how you do this for different operating systems.