Wednesday, November 29, 2006

NetBeans + Ruby = Awesome

Tor Norbye is a programming machine on par with the legendary Ola of Bini. He's the one-man force working on NetBeans Ruby support, and his progress has been epic. Here's his latest screenshot and a short blurb about it:

NetBeans + Ruby = True

In just over two months' time, Tor seems to be (in my opinion) on the verge of eclipsing every other Ruby editor/IDE out there. I've been using development builds of his stuff and it's really superb. A few features I've missed before that are now rapidly maturing in NB+RB:
  • Highlight usages: not genius, but smarter than dumb-as-a-post right now; great for local and block vars, getting smarter for methods
  • Clickable methods and variables: limited to method-scope for variables or file-scope for methods, but coming along very quickly...and even those limited scopes are way better than nothing at all. I don't know how many times I've wanted to Ctrl-Click a method in some giant Ruby file and go straight to the method def. Awe-some.
  • Inline refactoring: I've demoed this a couple times, but for local and block vars you can do inline renaming...essentially renaming all instances of the variable at the same time. It's really nice, looks cool, and represents the tip of the iceberg for refactoring capabilities.
There's plenty of other stuff that's cool, like the Navigator view of a file (shows classes, modules, methods, of currently-selected file), AST view (great for us Ruby language hackers that like to see the actual structure of things), and more.

Things are definitely shaping up nice for next-generation Ruby IDEs.

9 comments:

  1. That is really awesome. I guess we won't see much of the evolution in Eclipse RDT now that you folks are working for Sun. :-(

    ReplyDelete
  2. Looks tremendous!

    Does this have a name? A few crazy suggestions:

    1) inbred = Innovative NetBeans Ruby EDitor

    2) nbride = NetBeans Ruby IDE

    Great work Tor!

    ReplyDelete
  3. Looks like there's some competition coming up here :-) Especially the inline renaming, I still have to figure out how to do that for RDT, our rename currently pops up an ugly dialog...

    ReplyDelete
  4. Competition is good! I'm just glad we can say we've had almost no hand in the NetBeans stuff since we've got more than enough to do on JRuby. I've built NetBeans exactly once, just to try it out. I hope this will encourage RDT guys to take things to the next level, which will push NetBeans to the next level, and so on. Meanwhile, we'll quietly make JRuby better and better to benefit everyone :)

    ReplyDelete
  5. Yes, I completely agree with you, competition is very important.

    I'm checking out the netbeans source from cvs right now and I'm sure I can find some interesting stuff, since we both work with JRuby. Especially the refactoring part.. :)

    ReplyDelete
  6. Interesting...I'd started on a Ruby Netbeans plugin, but got sidetracked by other projects. I'm glad I didn't get very far, otherwise I would've ended up duplicating a lot of work.

    Looks really cool. I'm interested in seeing how the autocompletion and refactoring tools turn out, since those seem like really hard problems.

    As for a name, how about RuBeans?

    ReplyDelete
  7. Update to my previous post:
    A patch that adds code browsing (for class es and methods in the same file) is now available and floating around on the RDT devel-list. The joys of open source...

    ReplyDelete
  8. Now if only Netbeans had some VI key-bindings, I might actually be comfortable enough with the editing to use it! Please, oh please add VI key-bindings!

    ReplyDelete
  9. That is really awesome....Keep up the great work on this blog.
    Good luck with everything. Merry cristmas....

    ReplyDelete