4 ms·
Been using RubyMine for a few years now and am convinced it's the best editor for Ruby development (at least for me). It just offers too many features (e.g.: b
by matthuggins 13y ago
Been using RubyMine for a few years now and am convinced it's the best editor for Ruby development (at least for me). It just offers too many features (e.g.: built-in debugging, method click-through) that users of vim, emacs, etc. are missing out on.
- veidr 13y agoI totally agree; RubyMine is my 'home base' when working on Rails apps, because its debugger beats anything I've seen for ruby/rails especially, easy to run server/tests/console under any environment, the best code completion for ruby I've seen, tons of smart navigation options, refactoring right-click 'run this test/spec' feature, etc etc. I still use ST3, TM2, and from time to time other editors whenever I want... but RubyMine, being a complete IDE, does so much more than those tools. Managing your product in RubyMine doesn't preclude using other editors alongside it for more intensive code editing sessions, if desired.
- veidr 13y agoI forgot to add why you would want to do that: because when judged just on the merits of being a well-behaved app that adheres to OS X conventions, it is awfully, terribly, horribly bad (as are most Java GUI apps). Most of its menus are not really OS X menus at all, they are transient floating windows with wrong behavior. It doesn't have normal windows -- some can only be floating windows, but they float over some windows and not others. You can spend hours tweaking the keyboard shortcuts, but you will never get them quite sane. Text drag and drop isn't right. Tools like Typinator and multi-clipboard managers don't tend to work well with it. It doesn't interact with the system pasteboard well. In short, as a Mac app, it's totally gross. But as an IDE, it is very powerful. Using it is a pain if you really want a nice Mac tool, but if you think about it the same way as you think about logging into a remote Linux server to do some work, or doing some task in Windows in VMWare Fusion, it's not that bad. The area where is falls short the most is the actual editing of code, because (at least for me) that is a long, iterative task, where the OS conventions and staying true to the standard ways of doing things are most important.
- barrkel 13y agoI find pry, pry-debugger, pry-remote etc. much better than RubyMine's debugger in practice. I found IDE debug setup to be quite fiddly, as a lot of our app needs other bits - Java, C++, queuing, mock smtp, etc. to be in place at the right time. I used RubyMine for 8 months before switching to emacs. I was more productive after 6 weeks in emacs than 6 months in RubyMine. Emacs' robe integrates with pry to do symbolic lookup of definition (I guess that's what you mean by "method click-through"). It works especially well when you're browsing symbols created through metaprogramming. But I don't normally use it, I normally use helm-git-grep, often initialized with text from the cursor. This package changed the way I worked - it's instantaneous incremental grep from across your whole repository. Much of the app I work on is written in CoffeeScript and Backbone. Instantaneous lookup of message strings made whole chunks of the app almost trivial to work with, whereas they were a chore before. I don't code languages like Ruby in anything like the same way I write C or Java. I find Ruby is best written in an in-context REPL, where the results can be interactively seen. I then look at the command history and pluck ou the bits I want to keep, and refactor them. Emacs REPL buffers work very well for this too. The ability to write a mode hook that binds a key to a function that's especially handy in that mode - or even bind a key to a lambda that only needs to work in the current session - is killer though. Binding keystrokes through UI is a complete PITA, and it always feels like a dodgy investment, because you don't know how easily or reliably you'll be able to export it or import it onto the next version or next job. Whereas the investment I put into emacs feels like it'll last me decades.