RubyMine is a smart Integrated Development Environment (IDE) for Ruby projects with an intelligent full-featured code editor, designed for highly productive development.
Smart code completion, fast code navigation, automatic code styling and different color schemes help you write good-looking Ruby code without a hitch.
Perfect your code with on-the-fly code analysis, quick-fixes, and a full set of intelligent code transformation actions, including straightforward and clean-cut refactorings.
Smooth integration with Rake, Bundler, YARD and other tools allow you to use the full power of Ruby instruments.
Smart and Easy Coding
Syntax and Error Highlighting
Automatic syntax and on-the-fly error highlighting fully support Ruby 1.9 with new lambda syntax, local variables semantics and more.
Ruby Code Styling
RubyMine performs automatic Ruby code styling, with brace matching and folding, custom formatting, indentation and TODO marks.
Make your code perfectly readable, with carefully selected colors for Ruby statements, keywords, comments and other language elements, as well as multiple color schemes. Many custom themes created by the community provide more diversity.
The code editor provides intelligent code completion for Ruby language, including:
- 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 auto-completion
- Type inference for local variables and method return values
- Type inference for block variables within block calls
Find Usages and Go to Actions
Quick navigation between usages and declarations also includes actions that move you up to type declaration, implementation, super method and test.
Files and Classes Navigation
Any file can be found by just typing the first letters of a name or by using a context search. Any class can be found either by name or by the full name that facilitates navigation through classes with such a common name as 'Base' for example. Line and symbol navigation is also available.
Structure and Type Hierarchy Views
Structure and Hierarchy views show all class types (supertypes and subtypes) and all class methods (including inherited ones) and allow for browsing and searching through.
Intelligent Code Improvement
Being a descendant of IntelliJ IDEA, RubyMine inherits its best features, including this set of intelligent code refactorings for Ruby:
- Extract method, module, or supercass
- Introduce variable, constant, field, or parameter
- Inline variable
- Pull up / push down members
- Override method
- Surround with / unwrap code blocks
All the refactorings are, of course, Ruby on Rails aware.
RUBY CODE INSPECTIONS
Various inspections for Ruby code verification help you make code healthy and fix the most painful parts in line with the best community practices:
- Syntax verification inspections
- Naming conventions
- Collections correcting inspections
- Strings oriented inspections
- Percent literals inspections
All inspections have a description and can be switched on or off, or configured as necessary.
ON-THE-FLY CODE ANALYSIS AND FIXES
According to its list of inspections, RubyMine performs on-the-fly code analysis and highlights errors right as you type.
Every inspection suggests an improvement with a quick-fix option, as well as the ability to disable a rule or hide a warning.
Quick-fixes allow you to create many project elements from their usage, such as new method, action, partial, or file. You can also use them to refactor or change code style. Just refer a highlighted element and invoke a quick-fix using the hotkey.
The Neat Use of Ruby Tools
RubyMine understands Rake files and lets you conveniently run the tasks.
To quickly execute a Rake task, just press Ctrl+Alt+R⌘⌥R, type a part of the task name, and press Enter to start it.
You also can have persistent and shared Rake-specific run/debug configuration for customized Rake tasks execution, e.g. with specific task arguments, environment variables, etc.
RubyMine makes working with gems a real pleasure:
- Gems are shown inside a selected Ruby SDK and can be installed or updated ( from rubyforge.org by default) directly from the IDE.
- Required gems, including the dependent ones, are detected and activated automatically on project open.
- Bundler is used to manage the dependencies and to load requirements from a Gemfile.
- Without a Gemfile project, files are scanned for Ruby gems calls to produce a set of the required ones.
Consistent RubyDoc documentation is one click away from your code, ready to be opened any time you need help.
Now you can easily create your own usable documentation with YARD:
- IDE supports any syntax of types annotations supported by YARD.
- Return types and method parameters with types can be annotated.
- Auto-completion works for tag names, method parameters, types, anywhere you may need it.
- All the tags are validated on the fly for duplications, wrong parameter names and others, with quick-fixes available.
- Complex namespaces and alternative types are supported out of the box.