BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News RubyMine 1.0 Steps Into the Ruby IDE Ring

RubyMine 1.0 Steps Into the Ruby IDE Ring

This item in japanese

JetBrains, the developers of IntelliJ IDEA and ReSharper among others, released its first foray into the Ruby space with RubyMine 1.0 – an IDE for Ruby and Ruby on Rails development.

RubyMine was released as a Public Preview in November and received great feedback from the Ruby community.  Dmitry Jemerov, the lead developer of RubyMine had to say this about the community support:

Despite the belief that most Ruby/Rails developers are happy writing code in simple text editors, we had RubyMine downloaded around 25,000 times since the Public Preview announcement. Early RubyMine adopters provided a great deal of feedback and worthy improvement suggestions.  We are certain that, as with all of our highly-intelligent development tools, Ruby developers can be extremely productive by using RubyMine. In fact, version 1.0 is just the beginning — we have tons of ideas and plans for new releases.

RubyMine 1.0 has several key groupings of functionality developers should look toward to understand what this IDE can do for them.

Ruby IDE

Ruby Editor

Ruby code editor provides automatic syntax and error highlighting of Ruby code as you type. Carefully selected colors for Ruby statements, keywords, comments and other language elements as well as several different color schemes bundled with RubyMine.  RubyMine performs automatic Ruby code styling, with brace matching and folding, custom formatting, indentation and TODO marks.

Code Completion

  • Smart Ruby statements and keywords completion
  • Automatic completion of built-in methods
  • Completion and automatic resolution in require and load calls
  • Correct filtering of static and instance members in autocompletion
  • Local variable type inference
  • Type inference for Method return values
  • Type inference for block variables within block calls

Refactorings

  • Rename refactoring
  • Extract Method
  • Introduce Variable
  • Override Method

Code Analysis

RubyMine performs code analysis as code is typed, highlighting errors.

Ruby on Rails Development

RubyMine makes the development of Ruby on Rails applications a first-class citizen, not as an add-on to an existing editor.  This is just a start to the Rails-specific capabilities of the IDE.

  • Ruby on Rails Projects
  • Advanced Rails Project Navigation
  • Model Dependency Diagram
  • Autocompletion for Rails controllers, helpers and views
  • Rails-aware Refactorings
  • Rails Code Completion
  • RHTML Editing
  • YAML Support

Intelligent Coding Assistance

The ability of an IDE to add the little things that make a developer’s life so much easier is added with Intelligent Coding Assistance.    Developers familiar with JetBrains other products will be familiar with this type of assistance.

  • Braces, brackets & quotes auto-insertion and surrounding
  • Matched brace/bracket highlighting
  • Express code commenting
  • Extend/shrink selection
  • Live Templates
  • Parameter Info popup
  • Quick documentation lookup

Unit Testing Support

RubyMine supports both unit and behavior-driven testing for Ruby and Rails code.  This includes tests for RSpec, Test::Unit, Test/Spec frameworks, Live Templates and smart code completion for RSpec.

Features also include:

  • Built-in test runner, fully integrated with IDE, and capable of running tests via Rake tasks
  • Action for quick launching of tests for a specified method, class, BDD example, etc.
  • Navigation between code and tests in Rails applications
  • On-the-fly statistics on currently running tests
  • Dedicated view for tests, with details panel for viewing a selected test output
  • Quick navigation to a line of code where tests have failed
  • File templates for creating Test::Unit and Test/Spec tests
  • Intention actions for quick creating of tests either from the console or editor

Graphical Debugger for Ruby on Rails Code

A graphical debugger is an integrated part of the new IDE that includes smart breakpoints, dedicated views for watches, stack and expression evaluation.

Version Control Systems Integration

The IDE allows for complete integration to common source control systems including:

  • Subversion
  • Git
  • CVS
  • Perforce

Supported features include synchronization, checkout, merging and updates as well as:

  • Changelists support for all integrated version control
  • Next, Previous, Rollback, Show Difference actions in the gutter bar
  • View revision history for project/folder/file
  • Annotate command for reviewing the files
  • Recent changes display with a single shortcut
  • Automatic checkout of all affected files when refactoring
  • Dedicated tool window for History, Status, Update Info
  • Ability to commit the entire project, with conflict notifications
  • Notification on files changed by your team mates

RubyMine also features detailed Changelist management listing all files that have changed, deleted or not yet under version control.  Users can then:

  • Create, remove or commit a changelist
  • Rollback the modifications
  • Add files and folders to version control
  • Move the selected files between the changelists
  • See the diffs between selected files
  • Jump to the underlying source code

 

The plans for future releases is to have RubyMine 1.1 with Rails 2.3 support in May and v1.5 in the fall with support for Ruby 1.9, HAML parsing, a UI for installing Rails Plugins as well as Cucumber support.  Additional information can be found on the JetBrains web site or download RubyMine now.

Rate this Article

Adoption
Style

BT