Full Refactoring Support
Ever since my start in Ruby coding a few years back, I've been really unhappy with the lack of ide's for programming ruby, and specifically, rails. Textmate is really nice, but for larger projects the lack of refactoring support becomes a glaring weakness. It's been over a year since I've gotten an update from them, and I gave up hope that it will evolve into a full featured IDE.
I've been hoping IDEA would be doing a ruby IDE and was thrilled to see RubyMine. After downloading a copy and briefly using it on project I was really disappointed that refactoring support is incomplete, is there any eta on when this feature will be available?
Once it's in I'll be making my switch almost immediately.
Please sign in to leave a comment.
Hello Joe,
"Full refactoring support" is not something which will magically appear in
the product one day out of nothing. There are many different possible refactorings,
and many possible levels of smartness for each individual refactoring.
We definitely plan to include "Extract Method" and Rails-aware move/rename
refactorings in the 1.0 release (Q1'2009). Subsequent releases will include
more refactorings, and our priorities will depend on user feedback.
Which refactorings would you like to see first?
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Hi, thanks for the quick response! You're very correct that Refactoring is a very broad subject, sorry for being vague.
Some of the refactoring selections off the menu are active but not yet implemented fully, I was asking about those.
As far as which refactorings I'd like to see first, definitely rename and move support. Of course even in those refactorings there is a lot of room for what gets done automagically.
Just renaming a model for instance will save so much work since I would potentially need to change:
* File name
* File header
* Code references (models/views/controllers/mixins/helpers)
* ActiveRecord associations
* Unit Tests
* Creation of new migrations (rather than updating old ones)
* Fixtures and rake tasks
I know I'm missing tons, you guys have your work cut out. Good to know this is coming soon, thanks, and keep up the good work!
Unless the migration creating this model has never been deployed in production. In this case it's preferrable to update the migration.
I was going to ask for that, but I didn't want to be greedy lol
If that's part of your plan, that's really cool!
Hello Joe,
Extract method refactoring will be available in coming RubyMine EAP build and Ruby plugin for IntelliJ IDEA.
Thanks,
Oleg
Oleg,
Thanks for implementing Extract Method.
The next obvious step is to implement the reverse - Inline Method. I often use these in tandem until I'm happy that I've extracted the correct section of code and reorganised things appropriately.
Cheers, Paul.