Early Access Program

RubyMine 2020.3 Beta 2: Support for Ruby 3.0, Code With Me, and More!

RubyMine 2020.3 Beta 2

As our Early Access Program is coming to an end, we are happy to announce that RubyMine 2020.3 Beta 2 is now available! While we are adding the finishing touches to the last major release of 2020, here are some more details about the improvements you will get in 2020.3:

Support for the upcoming Ruby 3.0 release

With the long-awaited release of Ruby 3.0 coming closer, we’re working on having support ready for it in RubyMine as soon as it gets here.

RubyMine 2020.3 will already feature basic support for the new syntax. In other words, you can already try out some of the new language features. For example, endless method definitions and find pattern.

Ruby 3.0 syntax

Please note that it is still a work in progress, and features like code assistance and RBS support will only be properly implemented after Ruby 3.0 is out.

With Ruby 3.0 being in the preview state right now, it might still have some changes added to it before it is released. We are keeping a close eye on it, and plan to fully support it in our 2021 releases. Stay tuned!

Support for remote collaborative development and pair programming

RubyMine 2020.3 EAPs now support Code With Me (EAP), our new tool for remote collaborative development and pair programming.

Code With Me is available as a plugin for IntelliJ-based IDEs. With it, you can share the project you currently have open in your IDE with others and work on it together in real time.

Install the Code With Me plugin

Check out these posts to learn more about Code With Me.

Please note that Code With Me is still in active development, and has known issues. Feel free to report any issues you encounter, and vote for the fixes and features you want to have!

Code With Me

Interactive hints and inline watches in the debugger

Debug mode now has interactive inline hints for variables. You can click these hints to change the value of a variable field. To do so, click Set Value, change the value of the field, and press Enter.

Interactive hints

RubyMine 2020.3 adds a new type of watch expression. These expressions will be associated with a particular context and shown right inside the editor. You can add them using the inline hint: open a hint, and click Add Inline Watch. You can manage your inline watches in a new Inline Watches node in the Variables tab of the Debug tool window.

Inline watches

Support for interpreters with custom environment

RubyMine now allows you to configure a custom environment for your projects using tools like shadowenv or direnv. Any Ruby command run by RubyMine will be executed using the custom environment and its environment variables. This comes in handy when you have multiple projects and each of them needs a different environment.

You can add custom configurators in Preferences / Settings | Ruby SDK and Gems. Click the + button and select New local with custom configurator. There, you can provide a path to the Ruby executable, and specify the configuration options and the runner (shadowenv or direnv). Please refer to the RubyMine documentation to learn more.

Custom environments

Note that RubyMine will use this configuration before running every command, for example, if you use direnv, then instead of bundle install RubyMine will run direnv exec /path_to_config/ bundle install.

Please also note that this feature cannot be used in conjunction with RubyMine’s version manager detection. You may use either a custom configurator or RubyMine’s support for a version manager. Alternatively, you can write your own configuration script, which will configure your environment, and run commands using a version manager like rvm.

You are welcome to download the latest EAP build from our website or via the Toolbox app. The full list of closed tickets in this EAP build is in the release notes.

To learn about the newest features as they come out, please follow RubyMine on Twitter. We post product news and tips several times a week.

As always, we encourage you to share your thoughts in the comments below and to create and vote for features in the issue tracker.


Happy Developing!
The RubyMine team

image description