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
- Other notable features
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:
You can specify which Ruby code entities to show hints for under Preferences/Settings | Editor | Inline hints.
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.
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.
- 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.
Support for new Rails 7 generate options
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
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.
The RubyMine team