Early Access Program

RubyMine 2022.1 EAP3: Improvements for Ruby, RBS, and Rails

The third build of 2022.1 EAP is out! Here are the highlights:

Ruby and RBS

Inlay hints for Ruby methods based on RBS

RubyMine now shows inlay hints for Ruby code, based on type signatures from corresponding RBS files. This includes inlay hints for:

  • Method parameter types and return types.
  • Block parameter types.
  • Constant declarations.
  • Global variable declarations.
  • Attribute accessors, readers, and writers.
  • Type variable declarations next to main containers.
  • Numbered parameters.

Clicking on a hint will take you to the corresponding type signature:

Inlay hints

You can specify which Ruby code entities to show hints for under Preferences/Settings | Editor | Inline hints.

Inlay hints settings

Overloads in Quick documentation

RubyMine can now show overloads in the Quick documentation look-up (F1 / Ctrl+Q). When you invoke Quick documentation on a method, it will show the current matching overload.

Quick documentation

Support for new language features

This build adds support for more new Ruby and RBS features introduced in Ruby 3.1:

  • Support for bounded generics:
    • Actions like resolve, find usages, and rename now work for upper bound references.
    • The Incorrect type argument count and Unresolved references inspections have been updated to work with upper bounds.
    • We’ve added a new Bad type argument type inspection. It reports type arguments passed to generic types that do not subtype the expected upper bound.Bounded generics inspection
  • Support for RBS Collection: Similar to how the bundler manages gems, RBS Collection manages the RBS files of third-party gems. RubyMine can now understand its configuration files, and will only use the type signatures that are explicitly specified there in its code insight (completion, type provision, inspections, etc.): RUBY-28899.
  • Support for generic type alias covariance/contravariance in RBS: RUBY-29263.

Rails

Support for new Rails 7 generate options

This build adds support for the new JavaScript framework options for project generation that were added in Rails 7. You can now select them when creating a new project using the New Project dialog.

JS options for Rails 7

Other notable features

Here are some more notable changes available in this build:

  • Removed the Restart IDE… action from the File group under the main menu because it wasn’t actively used. You can still invoke it using the ⇧⌘A / Ctrl+Shift+A shortcut (IDEA-279530).
  • Fixed several known issues with Tailwind CSS (WEB-52237, WEB-48964, WEB-54277, WEB-54445, and WEB-49734).
  • Introduced new Enum and Enum member options in Preferences / Settings | Editor | Color Scheme | TypeScript. Their default values are inherited from Class for Enum and from Static member variables for Enum members (WEB-44897).

Join the Early Access Program

You can 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.

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