Aptana fail

2010-01-27

I heard a lot of buzz about Aptana lately and just had to try it. So far I've not been able to find a good Javascript IDE but this sounded very promising. As the title suggests, it quite didn't come through for me.

The first impression is good. After a bit of funking around (you can't just create a new file, you need to start a new project... *sigh*) I loaded a Javascript file and there was the code interpretation and whatever. Very nice, pretty good. It also contains a Javascript parser. Not fancy in terms of IDE, but I don't know many editors that offer this feature for Javascript at the moment... So that's cool too.

Auto complete (ctrl+space) worked (although the suggestions are cluttered and crappy, imo), context hint (ctrl+shift+space) didn't. Still doesn't, btw.

It correctly draw the context for functions and /**doc comments. Yeah, nice. But really, it's about the least you could expect from such an editor, right?

So later I'm trying to use it to modify my pet project. Lot's of code that needs organizing. Code folding is crucial here. My expected ctrl+ did not work. In fact, to find code folding, you must press the right mouse button in the ruler / line number part of the screen (the grey vertical column). There's even a special javascript folding option there!

Trying to set up key bindings for it was no problem either. The interface is nice and intuitive, although searching for it was not, but maybe I'm just used to different terminology.

Actually using the key bindings is another thing altogether... Keys are not working. No folding happens. At. All. I hook up search to F3 (I'm used to searching the selected text with F3), not working. At. All. Either.

Later, part of the code folding keys start to work. But after some fiddling, I managed to break that again. Permanently this time.

But, I can still fold with right-mouse-button. So I go ahead and refactor and work on my code...

So I'm changing the code from assigning methods to properties of an object, to an extending method using an object literal. Where Aptana was fine in recognizing context and scope before, it's completely lost now. It will recognize the /**doc, but not the function. I guess it can't cope with a function nested in an object. Nice... It didn't because there were errors in the object I was ironing out. After they were fixed, it suddenly recognized the function scopes again.

Aside from that, the interface responds sluggish. Tabbing in is slow (on a Q4400 with 2G ram). Whenever I want to cut some selection that's folded, it fails to cut and unfolds instead. Only after that you may cut the selection. Annoooooying.

So my context-hints (ctrl+shift+space) are still not working. My nice phpdoc-style annotations are not recognized, very annoying. I can't mouse-wheel in the code-complete window (why??). It's cluttered with all kind of crap I'm very unlikely to want to be using. I think they are macro's...

My conclusion... Apatana seems to be on the way to something good. However, when key bindings don't work, code recognition is not up to par and the UI feels slow, it's far from ready. For now, Aptana is not my editor of choice. I need code folding, key bindings that do what I want and a responsive UI.

:(