Features

  • F3-based navigation
  • Syntax highlighting, bracket matching
  • Documentation Hovers
  • Code Completion
  • Outline View
  • Console Window

Not yet:

  • Debugging
  • Errors only show up when you save, not while you type.
  • Live Expressions (the view exists but I can't seem to get it to work)

Compared to NetBeans:

  • Eclipse Syntax highlighting is pretty lame. NetBeans is way better.
    • Eclipse should highlight function names, preprocessor macros, etc.
    • NetBeans puts variables passed in as arguments in bold and leaves variables set in the function in Roman. It's actually pretty darned handy!
  • NetBeans feels a lot faster. Surprising given SWT's use of native toolkits. (apparently SWT has serious performance problems on Linux).
  • Creating a new file is torture in Eclipse. It's easier in NetBeans but still not slick.
  • NetBeans only has a console window, no process list view I think.

Installation

For Ubuntu Feisty:

  • sudo apt-get install erlang
  • Install Eclipse as usual
  • Add the Erlide update site: http://erlide.sourceforge.net/update
  • Install and restart
  • Window -> Preferences -> Erlang -> Runtime and set Erlang Home ($ERL_TOP) to /usr/lib/erlang
  • Quit and restart Eclipse.

Now you should be ready to go.

Make sure to create a new project before trying to open any files.

Console Window

  • Control-Alt-K to focus the console, Control-Shift-E to go back to the editor (who comes up with these bindings?) BUG: umm... Control-Alt-K doesn't seem to work.
  • Control-Enter to execute command
  • Control-UpArrow to access history

Unfortunately code completion and syntax highlighting don't work in the console. Also, neither Eclipse nor Erlang keybindings appear to work, so there's no easy way to jump to the start of the command, etc.

Interesting Keystrokes

  • Control-E -- switch editors
  • Control-O -- jump quickly using the outline
  • Control-Alt-Q -- quickly jump to a standard Eclipse view

TODO: what the heck is the keystroke to toggle comments? Should be Control-/, no?

TODO

  • How do I get documentation on, say, io:format?
  • How do I reset the erlang environment? Occasionally I'll cause it to wedge and only quitting and restarting Eclipse (a painfully lengthly operation) seems to cause the console to respond anymore.
  • How the hell do I cancel the command running in the terminal when I accidentally cause 2 million error strings to be printed? The UI is totally locked up and Control-C, Control-G, Esc and Break all don't work. One core is at 100%, the other is idle.