scarred, but not defeated by vim, i decided to try a recently released beta of rubymine 1.5, and it’s been great so far.
massive disclaimer: i have not tried anything else for ruby/rails coding except for vim.
unlike a similar offering from netbeans, rubymine is a standalone install that seems to reuse a lot of the existing intellij idea codebase.
it was great experience out of the box – i pointed it at the local svn working copy and it verified all the installed gems (even though i am fortunate enough to run on cygwin, it recognized them all).
it has great rake
support, and all rake tasks run without any modifications. however, for script/server
in cygwin evironment i had to replace -e"STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift);"
with -e"STDOUT.sync=true;STDERR.sync=true;RAILS_ROOT='/cygdrive/c/project/root/dir';load($0=ARGV.shift);"
in ruby arguments
field. once the server runs, it also displays its log with proper color-coding.
i still run script/console
from cygwin command line, since rubymine does not do readline
support (i use ctrl+L
, ctrl+R
, tab completion, ctrl+e
/ctrl+a
and other goodness quite a lot in my irb
).
things to love
- color-coding, auto-indenting (including color-coding of matching brace/bracket/do-end block)
ctrl+shift+n
/ctrl+n
for finding files and getting around; withalt+f1
to show current file in different contexts/viewsctrl+f12
for current file structure- visible spaces (otherwise the ruby coding standards make the code look too squeezed to me)
ctrl+click
when mousing over (jump to all kinds of things, including template names, css style names – all of it very nicely integrated)ctrl+/
for toggling comments
- rails project structure
- parsing my stacktraces and linking them to the source code
- autocompletion, although i do not find myself using it too much
- all the usual things that idea has – svn and git support out of the box (and shelving works, just like in
idea
, in case you have to work with svn) - pretty sweet diff (
ctrl+d
) that rivals tortoisesvn visual diff ctrl+shift+up/down
to move the current linectrl+d
to clone selectionshift+delete
to delete the whole line
ctrl+shift+f12
to go full-screenalt+number
to toggle between tool windows- file structure tool window (
alt+7
) alt+f7
to find usages
alt+shift+f10
to bring up run menushift+f10
to run current run
- simple refactorings (introduce method, rename variable/method, etc).
- it is pretty damn stable, and occasional errors do not kill the IDE.
things to improve
- unlike netbeans, it is not a full-blown ide with ruby support, so some things that exist in idea are missing (notably, database support, some of the team communication and code sharing features, and other bells and whistles)
ctrl-q
for docs is a bit wonky (frankly, i’d rather jump to matching place in the online api docs – it gives me context)- code folding fscks stuff up sometimes
- still do not know how to jump to matching brace/do-end block
svn switch
could not be foundctrl+shift+f10
to run current test (and any other ad-hoc run tasks) does not work on cygwin, unless you doRAILS_ROOT
trick above
i have not tried all the other stuff, like haml support, cucumber support, rspec, and rspec w/ drb.
overall feel is nice and polished – most things just work out of the box (unlike the frankenstein monster that eclipse can be sometimes – truly a Windows of IDEs).
i do believe in using “idiomatic” shortcuts with an IDE, thus i did not try any of the “compatibility” keyboard modes.
for now, i do not see myself coming back to vi for rails development – for a hundred bucks, rubymine is a great development tool.