RubyRecentChanges

This document describes recent changes to the Ruby Support. I will basically be pasting in checkin notices that pertain to user visible features or bugs here so you can follow along.

To see a detailed list of new features, implemented RFEs and fixed bugs follow the following Issuzilla queries:

(For the fully gory details, you can use the Mercurial Browser:

Martin's Checkins,
Erno's Checkins and
Tor's Checkins
or this Yahoo! Pipe).
For upcoming changes, take a look at the .

Which version do I have installed?

Go to Tools | Plugins and click the Installed Tab and enter Ruby into the Search field. Under the Features grouping you'll see the installed version of Ruby.

Sep 22

Long time no update.. It's not that there wouldn't be new features, just have neglected keeping this page up-to-date. Time to start updating this again, starting with a couple of new navigation enhancements in 6.8:

  • Support for helper :helper_class_name, so e.g. clicking :bar in the following jumps to BarHelper:
class Foo < ActiveRecord::Base
  helper :bar
end
  • Improved navigation for attr_accessor, attr_reader etc. E.g. clicking foo.bar in the following takes you to the attr_accessor declaration, and clicking :bar takes you the place where @foo is first declared (the latter did work before too):
class Foo
  attr_accessor :bar
  def init
    @bar = "baz"
  end
end

f = Foo.new
f.bar
  • Support for ActiveRecord associations. In the following clicking :qux takes you to the Qux class, :bars to the Bar class and :baz to the Bats class (since class_name is explicitly specified):
class Foo < ActiveRecord::Base
  belongs_to :qux
  has_many :bars
  belongs_to :baz, :class_name => 'Bats'
  # ...
end
  • Support for :controller, :action, :template also in non-view files. We have had support for these in view files for a while already, but even though these constructs are common in controllers and elsewhere navigation didn't work there until now. For example the following are now supported:
class MyController < ApplicationController
    # ...
    redirect_to :action => 'login'

    redirect_to :controller => 'bar', :action => 'show'
    
    render :template => "baz/qux.rhtml"
end
  • Go to View/Action for ActionMailer models. This now works for action mailer classes too, invoking the action within the foo_added method takes you to views/mailer/foo_added.text.rhtml (invoking it again takes you back to the method):
class Mailer < ActionMailer::Base
  def foo_added
    # ...
  end
end

January 15

  • Possibility to specify the URL that the Run/Debug Project action should launch in Rails projects (Issue 141578).
  • Better support for Shoulda -- Run Focused Test (Alt-Shift-F6) and Run again/Debug actions in the test result tree (Issue 151652).
  • New icons for the UI test runner, related to (Issue 136482).


January 6

  • View differences action in the test runner for assert equals failures. Shows the difference using the IDE's diff viewer.
  • Bundled jdbcmysql and jdbcpostgresql adapters (Issue 138316) for better out-of-the-box experience.

December 23

December 12-18

  • Several improvement/bugfixes in the the editor areas
  • Type inference (TI)
  • RDoc-based TI
  • TI for methods chaining
  • more multiple-types fixes
  • Some Go to Declaration fixes
  • Filter buttons work in Navigator

December 9

  • Go to Declaration for constants. Variables types in Navigator.

December 2

  • Code completion now offers constant of the class/module correctly

November 30

  • Basic type inference for constants

November 25

  • tooltips in the test runner that show the output of a test when hovering the mouse over a node representing a test case / suite.

November 24

  • Type inference for Ruby built-in constants (ARGV, RUBY_VERSION, ENV, TOPLEVEL_BINDING, ...)

November 21

  • Better type inference of conditional expression (IfNode) (Issue 153238)
  • Switch to the new fast debugger backend based on ruby-debug-base 0.10.3

November 12

November 6

November 4

  • Manage RubyGems... action for platform node in logical view for quick RubyGems management for the project's platform. Another part of Issue 126615.

October 31

  • Robustness, strictness and better logging infrastructure (only one log is needed now) of debugger underlaying layers. Might reveal more bugs, since strictness part is offensive -> aim is more stable debugger for 7.0 (Issue 151098)

October 20

  • Possibility to turn on detailed logging from the IDE without having to restart (Issue 150557). The check boxes can be found in Tools -> Options -> Misc -> Ruby.
  • Initial support for Shoulda tests (Issue 150613).
  • Ability to easily change the project's platform from platform node's context menu in project's logical view. Another part of Issue 126615.

October 17

  • Gem Manager button in Platform Manager with prevention of recursive cyclic calls (Issue 147864)
  • Ability to run again / debug a single test method or suite from the test runner (Issue 136422)

October 16

  • Initial platform node for the Ruby projects. No context menu so far. Just the visual clue what the platform project uses and listening part. (issue 126615)

October 14

  • Works on NetBeans.next (likely 7.0) has started.

September 2008

Sorry, we haven't been very good about keeping these descriptions up to date. There have been a LOT of bug fixes recently as we are stabilizing 6.5. In addition, we have upgraded to JRuby 1.1.4, Rails 2.1.1, Rake 0.8.3.

July 23

  • Options cleaned up. The Ruby formatting preferences are now integrated under the (new) general Editing | Formatting panel. Ditto for the hints preferences.

July 21

  • Upgraded bundled JRuby environment to version 1.1.3, and activerecord-jdbc to version 0.8.2.

July 14

  • YAML code folding
  • Flag to turn off browser display on Rails server startup - see RubyOptions

July 11

  • Rake Runner remembers task parameters (issue 139612)
  • Wildcards support for Rake Runner (issue 139517)
  • Support for Warbler (issue 132394). Replaces GoldSpike as the supported tool for creating .war files out of Rails apps.

July 10

  • Several RFEs in Rake Runner Dialog, see this blog entry for more information and screenshots.
  • Support for Exception Breakpoints
  • Support for Conditional Breakpoints
  • Tweakable RubyGems manager, see Tweaking Gem Manager Behaviour in the wiki
  • sudo tools support, gksu and kdesu so far.
  • next/previous failure actions for the test runner issue 138473

July 6

  • Completely rewritten YAML editor. See this blog entry for more information and screenshots.

June 27

  • Added status to left for failing tests in the test runner issue 136482

Jun 24

  • Improved navigator display for RSpec and Test::Unit. See this blog entry for more details.

Jun 13

  • Automatic layout switching for the test runner -- when you drag it from the default position to the left or right side of the editor, it'll automatically switch to the horizontal layout issue 135682

Jun 5

  • Updated bundled activerecord-jdbc-adapter to version 0.8.1

Jun 4

  • Updated bundled Rails to version 2.1.0

May 29

  • Updated bundled JRuby to version 1.1.2
  • Updated bundled RSpec to version 1.1.4

May 28

  • Mark Occurrences: You can press Ctrl-Up and Ctrl-Down to navigate through the other occurrences of the current symbol
  • Semantic Highlighting: Code rewritten; should be more efficient, some range bugs fixed. Tooltips on unused ranges.

May 25

May 19

  • The Aloha Theme has now been integrated into the optional Ruby Themes module.

May 1

  • Rake Runner infrastructure overhaul, internal unification. Brings more smooth workflow from user's point of view, useful Clean, Build, Rebuild, Test menu items, tweaks here and there.

April 29

  • Easier Rake targets running. Invocation through a project's context menu is little awkward. Implemented through new Rake Runner dialog (124127, 127998)

April 25

April 22

April 21

  • Possibility to launch rails console in different enviroments (issue 107733).

April 15

  • Possibility to specify Rails version when creating a project (issue 127206). There is now a combo box containing the installed Rails versions on the last panel of the wizard.

April 11

April 4

  • Ruby project layout follows Ruby conventions (issue 117668). I.e. useful non-empty Rakefile is created + few other tweaks.
  • 'gksu' support. Is used when RubyGems manager is used and the user does not have enough privileges to write to the Gem Home (issue 128575)
  • Support for Rails 2.1-style migrations (the UTC timestamp version number instead of the old 3-digit number)


April 2

  • Updated to JRuby 1.1 final

March 26

  • Updated to JRuby 1.1RC3

March 15

  • Improved ERb/RHTML handling: support trim mode (%-lines), properly handle the various ERb escapes
  • Various bug fixes for RHTML editing around editing semantics (automatic bracket insertion/closing when typing <% and %> etc)

March 10

  • Possibility to create MySQL databases in the database configuration dialog

March 5

February 22

February 21

  • Fast reindexing! When you restart the IDE, until now NetBeans has spent anywhere from a second to 30 seconds depending on project size reindexing your user directory to make sure its index is up to date with respect to the files in your userdirectory. Now, this reindex operation should be almost instant - while still correctly detecting changes you've made to the files outside the IDE.
  • Improved RHTML embedding
  • Semantic highlighting and mark occurrences now work in RHTML.
  • Escapes using <% %> should no longer confuse the JavaScript and HTML parsers

February 20

  • Possibility to use database connections registered in the IDE even when not using JDBC, more here (updated).

February 19

  • Classic debuggers (for native Ruby and JRuby) are kind of deprecated now. The explicit debugger-type choice in the Ruby Platform Manager has gone. Classic debugger is still used when gems needed for fast debugging are not available. Otherwise fast debugger is always used automatically. (RFE 127750)
  • JRuby fast debugger is available out-of-the box for bundled JRuby. (RFE 127731)
  • Ability to set up a new, fresh RubyGems repository. When a non-existing or an empty directory is selected in the Ruby Platform Manager for Gem Home or Gem Path, NetBeans asks for creating / setting up a new repository. (RFE 125068)

February 18

  • New panel for configuring database connections and automatic bundling of JDBC driver JARs in the new Rails project wizard - more here.

February 15

  • Possibility to install a gem locally through the new "Install Local..." button in the Gem Manager. (RFE 125000)

February 14

  • Automatic Platform Detection is now part of every platform comobobox among the IDE (project wizards, Gem Manager, ...) so you do not need to go to the Platform Manager as up to now. It is triggered only the first time per userdir. Then might be triggered manually from Platform Manager as usually. (RFE 125400)

February 11

  • Ability to specify the Rails environment in the project properties dialog - issue 106908

February 05

  • Full JRuby Fast Debugging support. See announcement on users@ruby.netbeans.org
  • Possibility to choose the target server when creating Rails applications
  • Nodes for Ruby servers under the Servers node in the Services tab. Allows viewing what applications are running on what ports and stopping them ( more)

January 29

January 25

  • The bug with reformatting ERB/RHTML files (where some lines get indented incorrectly) should now be fixed.
(We don't usually list individual bug fixes here, but this bug was reported by a lot of users.)

January 24

  • GUI support for Gem Path. Default Gem Path of an interpreter is automatically detected with further possibility to adjust it from within the GUI. Should fix also problem with Max OS X Leopard, which uses Gem Path by default.

January 21

  • All debugger settings from one-global-platform-times are back. But now they are in the Ruby Platform Manager where might be set individually for every platform.

January 17

  • Some major debugger fixes after longer time; mainly it works with JRuby 1.1RC1. Note that it is not possible to explicitly choose between Fast and Classic debuggers in the meantime. It's due to recent changes in the infrastructure. Debugger was not 'ported' yet. For now the IDE will guess the best one. To be fixed soon.

January 16

  • possibility to change RubyGems repository for a Ruby platform from withing the GUI (both Ruby and Platform managers). Similar to setting GEM_HOME on the command line.

January 15

  • UI Tweak: Gem Manager shows new Gem versions in the update tab
  • As usually these days, more stabilization/robustness fixes in the Platforms/Gems area

January 14

  • Few GUI tweaks:
  • Autodetect Platforms button in the Ruby Platforms Manager (ruby and jruby are detected)
  • UI feedback when a platform does not have RubyGems installed (Gem Manager and Platform Manager)
  • Gem Manager appropriately disables its widget during gems updating
  • various robustness fixes in Platforms and Gems Manager dialogs and the codebase

January 11

  • Upgraded bundled JRuby to version 1.1 RC1

January 9

  • Basic caching of gems in the Gem Manager, so the gems are only remotely fetched when really needed - not every time you change a platform in the the platform combobox. TBD: more clever cache-reseting, like listening on disk changes
  • Initial Ruby Platform auto-detection. First time you go to the Menu | Tools | Ruby Platforms, IDE will try to detect platforms on your system.
  • The TaskList (available from the Windows menu) now shows all errors and hints found across the current project (or all open projects or the current file only, as controlled by the scope flags in the tasklist window). More Details

January 8

  • (late announcement) Last month were added new Platform Manager (Menu | Tools | Ruby Platforms) where you may manage your platforms (Ruby interpreters)
  • (late announcement) There is a new concept "Platform per Project" so you might set different interpreters for individual projects. This means there is not anymore Ruby Interpreter field in the Options Dialog. Now there are comboboxes with your predefined platforms at appropriate places like project's properties, gem manager, new project wizards, etc.
  • Both above were big changes in the infrastructure so you might encounter some problem - thanks for the reports in advance.

January 5

  • Quickfix which identifies case/when statements which colons, which are no longer legal in Ruby 1.9.
 More details here
  • Quickfix which identifies a hash syntax usage not allowed in Ruby 1.9 anymore

December 20

  • Quickfix which identifies the deprecated require_gem call and offers to fix it. RubyGems 1.0 was just released
 and has removed the old form, so now is a good time to update your code! More details here.
  • Many other deprecated APIs are also flagged: Attempting to require getopts, parsearg, printenv
  or cgi-lib will generate warnings, as will the assert_raises method from Test::Unit (deprecated in
  Rails 1.9).

December 19

  • JRuby 1.0.3 bundled (which can run Rails 2.0 without the separate jruby-openssl gem)
  • RSpec 1.1.1, activerecord-jdbc-adapter 0.7

December 10

  • Rails 2.0 fixes
  • Handle the new database migration shorthand that's available in Rails 2.0 for active record code completion
 (as described here). Note - you may need to
 wipe out your {userdir}/var/cache/gsf-index/ directory and restart the IDE for this to take effect. This will not
 be necessary soon as I rev the database index version as part of other fixes.
  • Fix the scaffold generator UI to match the changes in this generator from Rails 1.2 to Rails 2.0.
  • Fix hyperlinking for .html.erb files in the Rails generator output window

December 7

  • New quickfix which detects usages of "retry" outside a "rescue" body, which as of Ruby 1.9 is disallowed.
  • Some changes in source path handling; "Vendor" is now back in the logical project view

November 30

  • Most quick fixes now offer a "Preview" action where you can see a diff between the current and proposed editor source for the fix.
 You can process the fix from the preview dialog.

November 29

  • Various functionality which was in optional modules for 6.0 (extra hints, run focused test) are now in the base for 6.1
  • New hint for converting if blocks of the form
  • if !x to unless x
  • if x != y to unless x == y
  • unless !x to if x
  • and so on
  • New hint for converting simple if and unless blocks into statement modifiers:
   if foo
      bar
   end

becomes

   bar if foo

November 12

  • Extract Method, Introduce Variable, Introduce Field, Introduce Constant.
 More Details...
  • Hint for finding accidental assignments (if x = y instead of if x == y)
  • These are all added in the trunk (NetBeans 6.1)

November 5

  • Open Type now allows "#" to jump to arbitrary methods - try #to_s, #*load*, etc. See
 this blog entry for more.
  • Code Completion now shows an item for the current call, highlighting the current parameter and showing
 its documentation.
  • Updated Ruby core library documentation to version 1.8.6-p110
  • Rails Gems are automatically excluded from plain Ruby projects. There's also support for filtering other gems; a few
 more details on this in the  RubyOptions document.
  • 6.0 freeze; a LOT of bug fixes prior to this. Any fixes from this point forward will be in 6.1.

November 1

  • Updated to JRuby 1.0.2
  • Updated to Rails 1.2.5
  • LOTS of bug fixes

October 26

  • Gem and vendor/ load path handling revamped.
  • NetBeans should now properly recognize gems in your vendor/ directory (and in particular, vendor/rails) and properly pick the version to be used for indexing and code completion etc either from the system gems or the vendor/ directory.
  • Using $GEM_HOME should now work (there were several broken scenarios here before). Also added some special casing around Debian's
  custom setup for gems.
  • The ActiveRecord completion shown here should now
  work for edge rails and other custom installations.
  • If you enable "Java" on your projects (when using JRuby) code completion now knows about the JRuby extensions to Object and Module, the Java module itself, and so on.

October 22

  • Ctrl-Insert (Ctrl-I on the Mac) in a Ruby file will open the Generator dialog (Rails Code Generator)
  • All the builtin code templates which involve |blocks| now use semantic support to ensure that there are no accidental name conflicts with
 local variables already in existence.
  • Go To Declaration pops up a disambiguation popup if there are multiple possibilities. Just press Return to go to the IDE's best guess, or
 use arrow keys or the mouse to choose one of the other occurrences.  Classes and methods marked with :nodoc: are listed at the bottom with a strikethrough since you're probably not looking for these.

October 12

  • Lots of bug fixes
  • RSpec module (not part of 6.0 but available in the continuous builds on deadlock)
  • TextMate RSpec snippets
  • "Run Focused Test" action which runs test under the caret. Locate the action in the Keybinding options (see the "Other" category)
  and bind to something convenient.
  • "Debug Focused Test", which starts the debugger on the test under the caret.

October 10

  • Dark color theme suitable for Ruby development available as extra plugin, see
 this blog entry for details and download.

October 8

  • Code Completion fixes:
  • Overridden methods are shown as bold in code completion, inherited are plain
  • Classes and methods marked :nodoc: are filtered out of code completion
  • Block arguments aren't inserted in the parameter list anymore; instead a block
  live code template is inserted, along with the yield variable names
  • Lots of fixes to parameter tooltips and parameter completion. Hash keys for many
  calls (such as those in ActiveRecord, ActionView etc.) are now properly offered
  • Fix some problems in RDoc rendering
  • Always show the full signature in the documentation popup, even for methods without
  documentation (such that you can see the full module name which gets cropped in the
  completion popup for long paths)
  • Pick up the color theme background color for syntax highlighted code fragments
  • Fix some bugs in the type analyzer such that it handles a few more scenarios


September 29

  • RHTML improvements
  • Rewritten a lot of the code: should be more reliable now
  • Quick fixes work
  • Instant Rename works
  • Ruby-aware caret motion and delete word (jumps among camel case letters and under scores)

September 25

  • RHTML improvements
  • Toggle comments in RHTML now works (Control-/, Command-/)
  • Bracket completion (automatic matching of quotes, parens, regexps, etc., automatic insertion of end, reindentation of else, etc.) now works in RHTML

September 23

  • All the TextMate-like snippets were upgraded to the latest versions.

September 20

  • New quickfixes for handling =begin/=end errors and inserting parentheses - see this blog entry
  • Code completion in RHTML files now include fields from the associated controller
  • Code completion now lists code snippets (live code templates) correctly along with the expansion names
  • Automatic bracket matching for | (used in blocks)
  • Lots of recent bug fixes
  • (RHTML indentation is unfortunately broken at the moment - see [issue 116231|http://www.netbeans.org/issues/show_bug.cgi?id=116231

September 9

  • Code completion for inherited fields (as well as from definitions of the current class in other files) now works properly

September 7

  • The experimental hints for converting between do/end and { } blocks now can expand and collapse blocks between single line and multi line blocks as well

September 5

  • Fix a bunch of the built-in live code templates (code snippets): Ml, Md, Yl-, Yd-, and various templates which had linked editing region such that only the first region is marked editable
  • Test runner improvements:
  • On success, the summary in the editor is shown in green, failures in red, and rspec "pending" changes as yellow
  • Handle rake test failures as well
  • Properly handle RSpec 1.0.8 (which changed some messages)
  • Filter out terminal escaped codes (used for terminal coloring)

September 3

  • Beta1 branch - changes listed more recently than this will not be included in beta1, they will be in beta2 (and daily builds)

September 2

  • Code completion now include top level methods ("def" outside of classes)
  • Test execution now accumulates bug summaries, so if you run the "test" target in your Rakefile which runs various different tests, the test totals are displayed in the editor footer.
  • Fixed the "Norway Today" color theme for Ruby. (Need help with RHTML!)

August 31

  • Rails Projects now offer either a traditional Rails directory structure view, or the logical view (which flattens out
 some of the common app/ and test/ folders and displays logical names for the various folders). Configure under options.
  • Bug fixes

August 28

  • Navigator selection linked to caret motion
  • RHTML navigator items show Ruby structure
  • RSpec template

August 26

August 25

  • Ruby and Rails projects now have a "Rake Arguments" property where you can specify custom flags which are passed to rake

August 24

  • Updated bundled environment to JRuby 1.0.1, ActiveRecord-JDBC 0.5 and RSpec 1.0.8
  • Support in Rails Project wizard for choosing database type, as well as optionally
 configuring the project for usage with JDBC or deploying to Java EE application servers
 (WAR deployment).

August 23

  • RHTML formatting
  • YAML code folding and navigator now works
  • Code folding of the initial comment (typically, the copyright) in Ruby files and option to fold these by default
  • Goto declaration now works for partials, actions and controllers within RHTML files (ctrl-click over :partial, :action, etc.)
  • Goto Test now works from Views as well
  • Goto Action/View now works for HAML, dryml, rxml and some other misc file types
  • Lots of bugs fixes

August 9

July 31

  • Some keybindings were changed to reflect IDE-wide changes; see RubyShortcuts for an up to date chart
  • The Experimental Hints are now built as part of the RubyIDE on http://deadlock.netbeans.org/hudson/job/ruby/
  • Various bug fixes in many areas over the last week
  • The ":" snippet from TextMate now works properly

July 23

  • Test File and Debug Test now works properly (Ctrl-F6)
  • The comment action (Ctrl-/) now toggles comments rather than having separate comment and uncomment actions
  • Switched to freemarker templates and improved "New Class" and "New Module" wizards
  • Bug fixes

July 17

  • Many bug fixes recently
  • Improved automatic code completion on typing a dot
  • Automatic insertion of #{} when you type "#" in a double quoted string
  • Automatic bracketing of a sequence of text if you select it and then type a brace, parenthesis or bracket
  • Automatically surround selected words in comments when you type *, _ or +
  • The "Migrate Action" menu items now contain not just the version number but the migration name as well

July 11

  • Ruby hints (quick fixes). The initial tips highlight usages of some deprecated Rails idioms, warn about block variables side effecting a local variable, and offer to expand a same-line code block.
 These tips can be configured in the Options panel.
  • Typing "#" in a double-quoted string will automatically insert #{} and place the caret between the braces.

July 6

  • Go To Declaration in RHTML files now work to warp to partials, redirect_to, link_to etc. - just control-mouse over the :partial, :action etc.
  • More bug fixes

July 3

  • Many bug fixes
  • There's a new home for the Ruby work on netbeans.org now: http://ruby.netbeans.org. The mailing lists, bug category, code etc. will move

from scripting.netbeans.org to ruby.netbeans.org. Please file your Ruby-specific issues against the "ruby" category from now on.

June 27

  • Fix a lot of formatting/indentation issues. Line continuations should now be handled correctly as well as a number of related issues.
  • Fix running Rails with a native Ruby installation that does not use Ruby Gems - such as Ruby+Rails installed on Linux systems using the debian packaging system
  • Test hyperlinks now work
  • Go To Type dialog fixes; case insensitive searches with mixed case should now work, and more file context is displayed for type matches

June 27 - Milestone 10 stabilization

  • Various bug fixes, especially around running on Windows with native Ruby, hyperlink detection, more accurate installed-gems detection, project-search in the Ruby-only IDE

June 22 - Milestone 10 stabilization

  • Various bug fixes this week. Indentation is fixed now for multiline parameter lists and multiline array statements, Markaby files get correct code completion context, string symbols should be highlighted correctly, and misc other fixes.
  • Rails console
  • Java Jar selection for JRuby projects

June 14

  • Goto Type is now supported for Ruby. (Keybindings in NetBeans has been changing for 6.0 this week, it's tied to Command-O now. Go To File is Ctrl-Shift-O.)
  • TextMate Ruby and Rails snippets built in
  • Automatic installation of the Fast debugger
  • The Gem Manager UI was rewritten to be more like the Plugins dialog. It now computes and displays updates separately, and search is available in all the tabs.

June 13

  • UI manager for Rails plugins

June 11

  • Ruby errors in RHTML files now show up as editor annotations
  • Renaming and Find Usages now also work in comments
  • Go to View can be invoked from _helper files

June 9

As of build 1830:

  • RHTML code completion and documentation, Go To Declaration. (Try Ctrl/Command-Shift-Space on top of a method like link_to). Clear your index to see the RHTML inherited methods (I will rev the index spec number soon which will do this for you.)

June 7

  • Upgraded to JRuby 1.0 now that it has been released (and a few associated gems, like RSpec 1.0.5 and ActiveRecord JDBC 0.3.1)

June 5

  • Refactoring: Find Usages and Rename are now avaialble - see this blog entry for details and screenshots.

June 3

  • JRuby 1.0 RC3 is now bundled
  • Code completion in .rjs files should know about the page object, in .builder files it should know about the xml object
  • RJS template available in Rails projects

May 30

As of hudson build 1403 and later:

  • Class attributes are now included in code completion. Thus, in your Rails applications, params, headers etc. should be showing up in code completion and documentation queries etc. (They are not yet accessible as fields.)
  • Choosing the require method from code completion should now initiate string editing
  • The code completion popup bug on Macs (where clicking on the dialog would cause it to disappear) has been fixed

May 28

As of version 0.95 / hudson build 1362 and later:


  • Support for encoding. In Ruby and Rails projects, there is now an "Encoding" property (see the project properties dialog by right clicking on the project node). This allows you to choose the encoding to be used by the IDE when writing files to disk.
  • Support for debugging RSpecs. Open an RSpec file and use Run | Run File | Debug filename, also bound to Command-Shift-F5 on the Mac, probably Ctrl-Shift-F5 on Windows and Linux (see menu for exact accelerator on your system).
  • The RHTML parsing bug has been fixed.

May 25

  • The code to extract documentation for all the standard Ruby APIs has been rewritten from scratch and is now a lot more accurate - there should be no discrepancies between rdoc and the IDEs code completion anymore.
  • The code completion documentation popup now provides full Ruby syntax highlighting for embedded Ruby code fragments - see this blog entry for some screenshots.
  • Various bug fixes reported by users were fixed; the most severe one was a bug which prevented active_scaffold indexing from completing.
  • First time users are now asked whether to use JRuby or native ruby (if one is found on their $PATH)


May 18

  • Various improvements to code completion and indexing. In Rails, this means that you now properly get to see the constraint methods in your model classes (belongs_to, validates_presence_of, the schema statements in your migration files (create_table, add_column, etc). And perhaps more importantly, the documentation. Tip: Press Shift-Command-Space (probably Ctrl-Shift-Space on Windows/Linux/Solaris) to get the documentation for the method under the caret.
  • JRuby 1.0.0 RC2 is now bundled. Some things we needed from the JRuby AST are now fixed, such as rest args (*foo in parameter lists); these are now handled correctly for instant renaming, unused and occurrences highlighting, goto declaration, etc.

May 13

  • Global Variables node was added to the top of Locals Variable view - you can examine values of all $<something> and other global variables, like $:, $DEBUG, ...

May 10

  • Watches and Locals Variables debugger views were enhanced. Both have now the Type column and Watches view is finally fully usable (still might have refreshing problems sometime).
  • Other various fixes in the debugger.
  • Better support for GEM_HOME property.

May 2

Mostly JavaOne preparations this week, but there are some bug fixes, plus these:

  • When you run a Rails controller file (Shift-F6), the IDE will warp the browser to the view corresponding to the method under the caret.
  • Changed the keybinding for the Rails "Goto Action/View" navigation action, from Ctrl-Shift-V, to Ctrl-Shift-A. (Command-Shift-A on the Mac.) This action stopped working recently because it's conflicting with the new "Paste Formatted" action, also bound to Ctrl-Shift-V.

April 30

As of version 0.85

  • Support for ERB (e.g. rhtml) debugging. Only with the Fast Debugger and ruby-debug-ide-0.1.3 gem

April 26

As of version 0.84 (not included in Milestone 9 which branched before this integration):

  • JRuby 0.9.9
  • Preliminary support for AutoTest in the IDE: If ZenTest is installed, projects have a "AutoTest" menu item which launches AutoTest on the project. When a Ruby file is modified and saved, AutoTest will run its associated testcases. If there are failures, the footer in the editor shows the failure summary. The AutoTest window contains the AutoTest output with hyperlinks to details of the test failure. (This works for both Rails and regular Ruby projects.) The RubyTesting document has more details.
  • The Run Rake Target action is now available for regular Ruby projects as well
  • Various bug fixes

April 24

We're stabilizing (bug fixing) for Milestone 9. On Thursday the trunk will reopen for more feature work.

April 20

We're at version 0.57 now.

  • Various bug fixes over the last couple of days as well as some UI changes for Milestone 9.
  • Various improvements to code completion and parse error recovery.

April 17

  • RSpec execution works - open a spec file and run it under RSpec using either the Run menu or Shift-F6. The output should be properly hyperlinked to the editor. To set options for rspec used under IDE execution (if you want to turn off red/green highlighting for example), use spec/spec.opts.netbeans .
  • GEM_HOME system property and custom 'gem' tool installation is now supported by the IDE.
  • Some code completion improvements

April 14

  • Improve file type associations such that .rjs and .rxml files are recognized as Ruby
  • Recognize .erb and .builder files as well (Edge Rails)
  • Make RSpec work slightly better in Rails projects.

April 13

As of feature version 0.74:

  • Performance: Rails application that have been frozen will no longer have slow startup scanning of the vendor/rails directory.
  • Code Template / Snippet improvements. When you select text you now get a quick tip in the margin (press Alt-Enter) such that you can easily surround the selection with a begin/end/rescue block etc. The TextMate Snippet importer was also enhanced.
  • Support parameter type assertions; if the rdoc contains #:arg:foo=>String, parameter foo is taken to start out as a String by the type inference engine.
  • Fixed a bug in the Rails "Migrate Database" command where it was running the default rake target rather than the migration targets
  • Merge in various fixes from the Java infrastructure to task scheduling, use new Lucene 2.1.0 search engine, etc.
  • You can enable auto completion on typing "." by running with -J-Druby.dotcomplete=true . This is not the default behavior yet because the dialog tends to get in the way as you're typing - some extra smarts here are needed.

April 12

  • As of today it is very easy to set up the Fast Ruby debugger. Just install ruby-debug-ide gem, set path to the rdebug-ide executable in the Options Dialog and you are done. More here.

April 11

  • Run To Cursor implemented. Small but very handy debugger must-have feature.
  • Some fixes with regard to the debugger termination (both natural and forced ones).

April 10

  • Rails debugging is supported. Best in combination with the fast debugger
  • "Parameter Completion" implemented. Hit Alt-P (Ctrl-P on the Mac) to see the parameter names for the method parameter list surrounding the caret. This is automatically invoked when you insert a method using code completion. Also, the parameter list is automatically inserted into the document as a live code template - hit Tab to jump from parameter to parameter. (Also, some bug fixes to code completion and goto declaration).

April 09

As of Ruby feature version 0.61:

  • There is a new action, "Go To Test", which jumps between a file and its unit test. The action is aware of patterns used by Rails, RSpec and ZenTest. If the filename patterns don't succeed, it will use class name logic and use the code index to locate the corresponding test. The action is currently bound to Ctrl-Shift-E - and appears in the Go To context menu in the editor.

April 07

As of Ruby feature version 0.59:

  • Fast indexing for native Ruby, as well as fix double indexing of Rails on some Linux distributions that had symbolic links in the vendor directory.
 Switching to native Ruby should now finish indexing almost instantly (provided you are using a Ruby 1.8 version like 1.8.5 or 1.8.6).
 I haven't tried this on Windows, and since it has some PATH logic in there I'd like feedback on whether it works.
  • Improved code completion in Ruby on Rails controller files. I fixed some indexing issues which means it's now aware of some more Railisms.
  • Rake tasks can now accept input
  • Various smaller fixes, like ability to jump to declaration for Ruby code within Strings ( "#{here}" ).

April 05

  • As of Ruby feature version 0.55, support for live code templates and TextMate snippet import. See
 this blog entry for more details.

April 04

  • Debugging with JRuby interpreter is enabled now. But it is still not that stable.

April 03

April 02

  • Debugger now supports "Balloon Evaluation" (issue 98920). Taking description from Vim help: This feature allows a debugger, or other external tool, to display dynamic information based on where the mouse is pointing.

March 30

  • Make the port used by Rails a project property; some other changes related to rails port management. Also, don't start the server on project create.
  • Rake migrations can be run to level 0
  • Various bug fixes.
  • There was a bad bug in the platform today which affected Ruby; several of the "Ruby slim IDE" versions have this bug. It has since been hot-fixed; if you cannot create projects with the IDE, get a new build. There is an outstanding issue with keybindings on the Mac; will probably be fixed quickly.

March 28

As of feature version 0.50:

  • Mongrel is supported. Just install it via the Tools | Gem Manager, and everything else should be automagic. (Tested with Native Ruby.)

March 27

As of feature version 0.49:

  • Rails code generators (other than the builtin ones) are now supported. The "Generate" action scans your Rails and Ruby installations and includes all applicable code generators - along with usage information. There is also an easy way to install additional code generators right from the Generator panel. It also automatically opens Ruby files created by the generators now (provided the number of created files is small - 4 at the moment).
  • Some bug fixes - in particular one related to running the Ruby Gem manager on Windows, and another one related to switching to native Ruby on platforms that didn't have a site_dir directory.

March 26

As of feature version 0.47:

  • Rake Migrations is better supported. There is now a Rake Migrations pull-right menu on the Rails project which lets you both run migrations to the current version, or pick a specific version (the menu item scans the migrations folder to determine which levels are present). You can also Shift-F6 any migration file to run migrations to that file's level.
  • (Bug fixes)

March 23

(I didn't rev the version number on the umbrella module for this; but it's in Ruby IDE Support 0.36).

Added method exit highlighting for occurrences highlighting. Placing the caret on a method definition line (or a return statement, yield statement, raise statement or fail statement) will highlight all the potential exit points in the method: - return - yield - raise/fail as well as the last statement in the method (which will be the return value).

March 22

As of Ruby Feature version 0.45:

  • Rake is now properly supported in Rails projects. There is a "Run Rake Target" menu item on the Rails project, which provides access to all targets in the Rails project; targets you run are added to a "recently used" list at the top (this is not yet persisted across IDE sessions), and there is a "Refresh Target List" item to update the menu to reflect all targets (in case you have edited the Rakefiles or installed new plugins.).
  • Ruby On Rails was upgraded to version 1.2.3 (from 1.1.6) along with updates to all the supporting libraries. Rake was upgraded to 0.7.2.

March 21

As of Ruby Feature version 0.44:

  • Show Documentation should now work. Put your cursor on some class or method you want to see documentation for and hit Ctrl-Shift-Space (Command-Shift-Space on the Mac).
  • Code completion now sorts methods from Object, Class, and Module with a lower priority, so if you do for example "File.m" you'll see all the File and IO related methods first rather than getting "noise" from Object
  • Various fixes to the Ruby Gem Manager - you can now install gems that have an interactive installation (such as hpricot), and it more gracefully detects problems with permissions.

March 20

As of Ruby Feature version 0.43: Ruby debugging is now available. See RubyDebugging for more. It's not in the Ruby Feature umbrella module dependency list yet, so you may have to locate the "Ruby" category in the update center and select everything you see there. (If you download from deadlock.netbeans.org you'll have everything. See RubyInstallation for more.)

March 19

As of version 0.40 of the "Ruby" Feature umbrella module, the following fixes are available:

  • Native Ruby execution should now work. On my OSX box I can run rails etc. Somebody please let me know whether this works on Windows.
  • JRuby process termination should work on Windows. (Somebody with Windows please let me know whether this works. I fixed it by basically bypassing the jruby.bat launcher script such that there is no intermediate process. However, I haven't had a chance to try it.)
  • Fixed high priority bug in source reformatting (issue 97630).
  • Fixed other bugs related to the I/O window

March 16 Ruby On Rails

Added support for jumping between an action method and its corresponding view. Bound to Control-Shift-V (and shows up in the Go To context menu).

March 13 Editing improvements

  • Tolerate public/private/protected calls between RDOC and a method definition. Test::Unit::Assertions was doing this all over the place, which meant the IDE didn't think there was documentation for these methods.
  • For Go To Declaration, in addition to the existing heuristics for choosing -which- definition of a class/method to go to (with open classes, there are typically many), also use the presence of RDoc to prefer particular declarations.
  • A while ago, I made the index (for builtin libraries, not user directory) skip indexing classes/modules where there was no documentation on the class. This let me filter out a lot of implementation-classes (like test/unit/ui/gtk2 and friends), but unfortunately it filters out some valid methods too, such as the various scanf definitions. Now that indexing speed is much less important (since things are preindexed), index everything again. Hopefully the other improvements (such as using presence of rdoc to pick declaration locations) will make this less painful than it was before.,
  • Improve handling of rest-arguments and block arguments (*foo, &block). Furthermore, various areas were fixed such that occurrences marking, parameter highlighting and unused highlighting works for block arguments.
  • Handle singleton class definitions (such as class << self, and class << File). In the navigator, these are shown as separate class entries. As far as the index is concerned, the methods are added as class methods on the containing class. ftools.rb's methods should now be showing up on File etc.
  • Various other bug fixes

March 10: Fast indexing

The slow indexing at startup (which ran for several minutes) should now be virtually gone.

March 10: Webrick

Handle Webrick a bit better: these instances are now per-project, port conflicts are handled better, etc.


March 9: Code completion

Start tracking types locally for code completion. Now, if you assign simple .new expressions (or use any literals), these are used to produce types for code completion. In other words, if you have

  if whatever()
     x = File.new("hello")
  end
  x.^

Here you'll get code completion on "x." for File.

March 8: Process management

Add Stop/Restart actions to the output windows, and fix the bug which left JRuby processes running even after the IDE had shutdown. Check your process list now to make sure you don't have any old ones hanging around.

Also, show Generator help in the Rails Generator window.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo