What’s mining: Extract Method Refactoring
We thought of making it “What’s cooking:…” but then realized we are not about food, we are about RubyMine, so – meet the new “What’s mining” blogpost series!
One of the things that’s in the works right now is the extract method refactoring. This feature is likely to appear in one of the next EAP releases.
On our developers’ machines, RubyMine can already do a simple, yet probably the most often used, kind of method extraction. Here is an example.
We have these three lines of code:
If we select the code to extract and choose Refactor|Extract Method… (or press Ctrl+Alt+M / ⌥⌘M), we can set the new method name and define parameter names and order in the following dialog:
After we click OK, the code looks like this:
Pretty simple, huh? Right, but not just simple :)
It is also smart enough to not let you easily break you code. Here is another example where RubyMine warns you about inability to make the refactoring and gives the reason.
Isn’t it cool? It is coming soon.
The following refactorings are already available in RubyMine:
- Introduce Variable
- Copy and Move for files
There are some improvements we have in mind (see the Issue Tracker) for the existing refactorings, and we also plan to add Extract Constant before RubyMine 1.0 is released.
Do you have an idea you’d like to share? Please leave a comment or start a discussion on our forum
Subscribe to Blog updates
Thanks, we've got you!
The RubyMine 2023.3 Early Access Program Is Open!
Hello everyone, The third RubyMine Early Access Program of 2023 is underway! The key change in the first EAP build is an important indexing optimization. By refactoring our code base, we’ve doubled RubyMine’s indexing speed compared to v2023.1. This is particularly noticeable when working wi…
Performance Improvements in RubyMine 2023.1
Hello everybody, The new release is fast approaching, so it’s time to unveil the performance enhancements you can expect from RubyMine 2023.1. Faster code completion When developing and supporting RubyMine, we analyze a great load of anonymized usage data. A lot of recent data pointed to the fact t…
RubyMine 2023.1 EAP5 Is Out!
Hello everyone, RubyMine 2023.1 EAP5 is now available! Below you can find the most notable features in this build. We encourage you to try them out and share your feedback in the comments or in our issue tracker. Migration of Ruby code to the Symbol API In order to improve code insight actions such…
The RubyMine 2023.1 EAP2 Is Out!
The RubyMine 2023.1 Early Access Program recently started and EAP2 is already here! You can get the new build from our website or via the free Toolbox App. In this post, we’ll highlight some of the most important updates included in the new EAP version. Rails 7: support for turbo-rails complet…