Archive for September, 2009

RubyMine 2 goes Beta - now cheaper and better!

Friday, September 25th, 2009

Those who read this blog regularly probably know what we’ve been adding to RubyMine. We ourselves have made an overview recently and realized that the new version is definitely twice as good as RubyMine 1.0 so please welcome RubyMine 2.0 Beta.

RubyMine 2.0 will be available in mid-October free for all existing users, according to the licensing policy.

Major RubyMine 2.0 additions include:

Read and see more about the new features and download RubyMine 2.0 Beta to try the above features today.

And that is not all the news! We continue our good tradition to offer beta discounts, so during the Beta RubyMine costs 20% less! Which means, buy RubyMine 2.0 today to save!

And one hot feature for the desert: you can now instantly open controller action in your browser: Alt+F2

RubyMine issues migrate to YouTrack, JetBrains’ new issue tracker

Friday, September 18th, 2009

We already mentioned YouTrack, the new bug and issue tracker JetBrains is developing. During this week many our projects/products and their issues have migrated to this new system.

As usual, we encourage you to report bugs or feature requests to Ruby project and vote for existing issues to get them released sooner.

YouTrack 1.0, currently in beta stage, provides the following advantages over competition:

  • Keyboard-centric approach lets you use easy shortcuts for major operations, including creating, modifying, and searching for issues. (Read more.)
  • Query-based search with intelligent query completion helps you find (and save) any set of issues in seconds, across projects. (Read more.)
  • Powerful commands enable you to batch-modify multiple selected issues, including fixing, specifying priority, types, writing comments etc. (Read more.)

The following resources should help you get used to YouTrack:

And if you spot a problem or a bug in YouTrack, just file appropriate request right there into the ‘YouTrack’ project. Convenient? You are welcome to discuss YouTrack with its developers on YouTrack discussion forum.

YouTrack is also used to track issues in other JetBrains products, including IntelliJ IDEA, TeamCity, dotTrace, MPS, and Web IDE.

You can download YouTrack beta as a JAR or WAR distribution, and try it out in your own environment.

YouTrack 1.0 final release is scheduled for autumn. Watch YouTrack blog for latest news and tips.

RubyMine 1.5 EAP (build 1421)

Thursday, September 17th, 2009

It’s been a while since the last EAP update. But that build was good enough to give us some time to make lots of new things. Read full release notes to see what we’ve done. Here is the selected items:
RubyMine 1.5 refactorings

  • Rails I18n support
  • Extract Superclass, Extract Module and Inline Local refactorings added
  • Duplicate code search in Ruby
  • Improvements in Cucumber scenarios editing and running
  • Reworked YAML editing and parsing, plus a new YAML Structure view added. (We also extracted YAML plugin for making it available in Web IDE)
  • Rails Mailers support: navigation markers for switching between mailer methods and associated templates
  • and more…

Download RubyMine 1.5 EAP build 1421 and submit your feedback.

From our RubyMine 1.5 roadmap it looks as we are very close to release. Stay tuned!

-JetBrains RubyMine Team

What’s mining: search for duplicates in Ruby

Wednesday, September 16th, 2009

Hi all,

It is always a pleasure to tell about new features! This time I’m glad to announce a brand new one that is coming in next RubyMine 1.5 EAP — “Locate duplicates”. It is another useful tool in RubyMine’s code analysis arsenal. Everyone has once faced with copy-paste problem: when you don’t use a refactoring such as extract method/module/variable for some reason but just do copy&paste. Your code begins to “smell”.

Locate duplicates is a helpful feature designed to assist you in writing safe, fast and error-free code.

Use Code | Locate Duplicates menu item to start it. You’ll see the  Code Duplication Analysis Settings dialog where you can tune the intelligibility of the search.

Local variables, Fields, Methods, Literals can be anonymized. Do not show duplicates simpler than and Anonymize uncommon subexpressions simpler than options operate with some heuristic values complexity of found fragments of code. These thresholds are used to cut off obvious duplicates like local variables, field etc. You can change them later, but the defaults should fit pretty good for a start.

Results of this search are shown in a familiar diff view with code fragments to inspect the results.

You are welcome to try this in coming EAP build.

-JetBrains RubyMine Team

What’s mining: inline local refactoring

Tuesday, September 15th, 2009

You’ve probably got used to utilizing the power of RubyMine’s refactorings, have you?

One of the cool refactorings we have in RubyMine is ‘Introduce variable’ that lets you quickly create variable from a statement and replace all similar occurrences in the code.

Right now we are adding the reverse thing: inline local refactoring.

Here is the slide-cast showing it in action.
Step 1: Place caret on a variable you want to inline and select Refactor | Inline… from the main menu or context menu. Or, even better, learn the keyboard shortcut.

Step 2: Confirm your action.

Result: Your code is updated

This new refactoring will be available in the next RubyMine EAP build. You can download the latest build now and try other new refactorings we’ve been adding lately.

BTW, have you pre-ordered the “Refactoring: Ruby Edition” book already? Should be a good one.

Ruby can be refactored!

For the screenshots and my refactoring tests I use excellent ‘Greed’ project created by Jim Weirich and Joe O’Brien for their “Testing, Design, and Refactoring” tutorial during RailsConf 2009. Thanks guys!