Posts Tagged ‘RubyMine’

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

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

RubyMine Likes Snow Leopard

Monday, August 31st, 2009

It is not a secret that a big half of Rails developers is using Mac OS X. I remember the majority of MacBooks at RailsConf and other events. RubyMine’s download stats only prove this.

It is clear that many of us (yes, me too) will be upgrading to Mac OS X 10.6 in the nearest time. Some did upgrade already.

So, I just wanted to note that RubyMine works even better on Snow Leopard!

For instance, Apple has fixed some problems in the bundled JDK and some issues such as disappearing menu seem to be gone now.

If you’re already on 10.6 — drop a line here or on RubyMine forum to share your experience.

What’s mining: Rails i18n support

Wednesday, August 26th, 2009

Hello folks,

Today we are going to tell you about forthcoming Rails i18n support in RubyMine. This functionality is planned for RubyMine 1.5 release in our roadmap, and you will be able to try it in next EAP builds. Feature is under development so comments, suggestions and even feature requests are very welcome :)

At the moment RubyMine supports the following:

  • Resolve and completion for property keys with quick navigation info. Autocompletion for property keys:
  • Go to declaration action:
  • Convenient usages search for property keys
  • Rename property key in locale files with all usages
  • Rails conventions for templates key prefixes
  • Inspection with quickfix for undefined property key. RubyMine offers to apply “Create property” quickfix.

Not all the desired functionality is implemented yet, but we are working hard on it. Just want to mention some of the further feautures:

  • Duplicate property key Inspection
  • Intention to i18nize plain text value
  • Check whether all the keys present in given locale file
  • your suggestions?

Please do not hesistate and let us know your opinion about all this at our forum at: http://www.jetbrains.net/devnet/community/ruby

-JetBrains RubyMine Team

Extending RubyMine with Ruby

Friday, August 14th, 2009

As we have already mentioned in RubyMine Roadmap, the forthcoming RubyMine 1.5 will provide Ruby API for extending the IDE in idiomatic Ruby (no Java or XML). For this purpose the latest RubyMine EAP has built-in RubyMine Extensions Manager for your own extension scripts.

Using Extensions Manager you can enable/disable the pre-installed scripts or add your own ones. Use ‘Add’ and ‘Remove’ buttons to manage your own script folders. Newly added scripts under script folders are considered as enabled by default.

API documentation isn’t yet finished, for now please refer to http://www.jetbrains.net/devnet/docs/DOC-1161. But we will surely get it published before RubyMine 1.5 release.

- JetBrains RubyMine Team

What’s mining: Ruby support within HAML

Friday, July 3rd, 2009

As you may know RubyMine provides outstanding Ruby code editing support in Erb files (RHTML). So, salute another language with Ruby code support: HAML. Familiar things like on the fly error highlighting, code completion, resolve, code folding, and much more are here to boost your productivity! And of course RubyMine is aware of HAML semantics and ruby blocks are recognized correctly according to indentations.

Here, in support of the words, we have some screenshots:

Ruby code completion:
    Ruby code folding:

This stuff will be available in RubyMine 1.5 EAP coming soon! Stay in touch!

-JetBrains RubyMine Team

Dogfooding Analyzed

Wednesday, March 18th, 2009

As you may remember we dedicated one week to use RubyMine as you would use it and work on Exception Browser application. In addition to the “dogfooding” we wanted to improve the process of tracking issues reported from RubyMine and IntelliJ IDEA. Well, I guess now is a good time to share some of our experience of working with RubyMine.

So let’s start. We took our laptops and occupied one of JetBrains conference rooms (see the photo) to concentrate on Rails development instead of our daily Java work.

Most of our team, including me, is not too experienced in writing real-life Ruby and Rails applications (book examples is obviously not quite enough). So the first days I personally was getting into Rails development. At that time I really appreciated the navigation features of RubyMine. ‘Rails aware navigate’ as well as ‘partial declarations’ and ‘overriding elements’ navigation helped a lot.

We had to work with an already defined database of the existing application. And its table names did not follow the Rails naming conventions, so some of the nodes in Rails Project View were not enabled. We had fixed it by renaming models according to Rails conventions and everything went OK. This allowed us to write migrations in Rails 2.2 style.

Of course we`ve faced other problems during the development week. Most of them were kind of usability issues: some bugs on editing code, parentheses typing inside a comment or a string, some exceptions, etc. Totally, we’ve added over 50 issues to our JIRA and some of them were even IDEA core issues.
Apart from the bugs we had also noticed some lack of functionality. I was really missing the ‘find usages’ for partial views, named routes support and support of set_table_name inside Models. Anyway, what really rocks is our support of Rails calls (paramdefs notation) like hide_action in controllers of has_*, belongs_to, etc. in Models. It smartly completes the parameters available for a given call with resolve and automatic inspections.

Many of the usability problems we had found then are already fixed and available in the latest RubyMine EAP and Ruby plugin for IntelliJ IDEA. We’ve also significantly improved the performance of background code analysis tasks by completely rewriting some parts of the code.

At the moment we put lots of our effort to improving the overall usability of RubyMine (new rake run action, enhancing Ruby Quick documentation layout, etc).

I think it was a great experience and I’m sure we will do it again!

As for the Exception Browser, there are still some things to finish: improve the layout, add some minor features. Once it is ready, we will deploy it to let you track you exception reports and help us make RubyMine even better!

But now we have the Beta release to concentrate on.

To finish, the project code navigation features that I really love in RubyMine:

Navigate to Rails

Go to overridden class

Go to partial view from Controller

Posted by Oleg Shpynov, Software Developer