RubyMine Tsubaki EAP is open

What's New in RubyMine 4.0?

The main focus of RubyMine 4 is performance. At the same time the new release brings improvements to all aspects of your collaboration with IDE. Take a look on the most considerable changes of the forthcoming release.

Be Faster & More Productive

RubyMine is now much faster than before and makes you more efficient with its new code navigation and search options. It speeds you up.

Feel More Comfortable

A variety of UI improvements together with new VCS support changes brings you more pleasure and easiness while coding.


Make Your Code Smell Good

New Ruby code inspections, test frameworks and improved debugger help you to avoid code flows and make it healthy and clean.

Do Not Fall Behind the Times

Experience the joy and power of the latest technologies with full value support of CoffeeScript, SCSS and more.



Be Faster & More Productive

Performance

There is no end for the fight for better performance. But there are the explicit results in RubyMine 4. The new IDE architecture allows more actions to operate asynchronously and to avoid memory blocks. As an example 'Inspect Code' function is now running up to four times faster.

Performance

Native Gems Code Insight

Auto-completion and code navigation when working with gems that have native components are available now.

Native gems code insight

Go to Class by Full Class Name

Any class can now be found by its full name to help you with navigation through classes with such a common name as 'Base' for example.

Go to class

Show Inherited, Types Hierarchy

New options on the Structure and Hierarchy views allow for seeing subtypes and inherited methods.

types hierarchy

types hierarchy


More about being productive in RubyMine blog

Feel More Comfortable

New, Streamlined UI

RubyMine UI is significantly reworked to be more compact, modern and comfortable on all supported platforms. Reorganized main menu, new look for navigation bar, updated editor tabs, etc.

UI changes

There are some Mac OS X-specific changes:

  • Full-screen support on Mac OS X Lion
  • Numerous Mac-specific UI changes
  • Correct window minimization to Dock

and LINUX-specific:

  • GTK+ UI theme improvements
  • Better integration with docks
  • Action to create entry in system apps menu
  • Ability to drag'n'drop and copy/paste files between RubyMine and file managers
VCS Support Improvements

General changes to the workflow such as a new 'Digest' view allow for spending less time on the routine VCS tasks such as pre-commit review.

Stack trace highlighting shows recently changed classes and methods differently in stack traces.

Git log graph

Highlights commits included in a given commit (e.g. commits in a current branch) and provides actions like create tag/branch, checkout revision.

Git log view

GitHub

The bundled GitHub integration got even better and now supports Gists creation for sharing your code instantly from the IDE.

Image Diff

You can now compare different image-file versions from version control history in a convenient two-panel view.

Event Log View

New 'Event Log' view/tool-window is a single place to see all IDE notifications and take action where needed.

Event log view


Class Dependency Diagram

In addition to Rails models dependency diagram one more diagram is available now. It shows relationships between any classes and modules in UML notation.

Ruby class dependency UML diagram


More about IDE features in RubyMine blog

Make Your Code Smell Good

Ruby Code Inspection

RubyMine helps to make your code healthy and to fix the most torturous segments of it according to the best community practices. New code inspections are added for Ruby code verification, such as:

  • Check if case statements have an else statement so that all cases are covered.
  • Check if boolean expression contains primitive parts.
  • Check if class variable is defined.
  • Convert conditional statement with negative condition to a statement with positive one.
  • Check if cyclomatic complexity of all methods/blocks is below the threshold.
  • etc.

'Quick-fix' intention actions are also available for some inspections for instant code smell resolution.

Rescue Block

Code Refactoring

New 'Inline method' refactoring allows for cleaning code from redundant methods. It substitutes method invocations with method code. It is intelligent enough to control operations priority, local variables, accessibility and execution flow while inlining.


RubyMine now also supports code fragment unwrapping actions and helps you accurately remove if/unless/while statements without removing a whole block of code.

Testing and Debugging

Minitest 2.10 and RSpec 2.8 gems are now supported by RubyMine.

There are also some small but cozy changes added to Ruby debugger. For example you can now set value to a variable while debugging or jump to a source from an error in expression.

JavaScript debugger now lets you customize the properties of an object that you see while debugging. This works for both Firefox and Chrome JS debuggers.


More about code quality in RubyMine blog

Do Not Fall Behind the Times

Ruby on Rails 3.2

RubyMine doesn't lag behind the environment. All new features coming with Ruby on Rails 3.2 are supported in the IDE.

Phusion Passenger

Phusion Passenger can now be chosen as a running server in run/debug configuration.

HTML Code Insight in HAML

Those who prefer HAML now can not be jealous to those who prefer RHTML. The full HTML code insight is now available in HAML files as well. Make you HTML clean and simple with HAML and RubyMine.

CoffeeScript Support

Together with code insight and formatting, compilation for CoffeeScript files is now available right from the IDE.

CoffeeScript support


Now CoffeeScript files can be launched via Node.js. You can either run a .coffee file from context menu or create a run configuration.

Advanced features are also available for CoffeeScript and include code inspections, usages search and refactoring.

CoffeeScript support

SCSS/LESS Support

Enjoy the dynamic stylesheets with SCSS (including 3.1 features) and LESS support.


More about staying up-to-date on RubyMine blog