RubyMine 2023.2 EAP3: Updated RBS Support and Search Everywhere Functionality
We are actively developing RubyMine 2023.2 and have released our third Early Access Program (EAP) build. Here are the notable enhancements included in RubyMine 2023.2 EAP 3. We encourage you to try them and provide your feedback in the comments section or through our issue tracker.
Naming convention inspections in RBS
In this EAP version we’ve added naming convention inspections for interfaces, type aliases, and type variables.
Сode insight for RBS use syntax
RubyMine code insight functionality is now available for use syntax in RBS. Here are some of improvements that we’ve implemented:
- All namespaces used within a use clause now have reference support.
- The target of an imported use clause now has reference support.
- When resolving a simple name, we prioritize resolve targets in the following order: type variables first, followed by use clauses in reverse order. Use clauses that occur last have a higher priority, allowing you to shadow a use clause that comes earlier.
- Autocomplete for wildcard use clauses now includes a * character.
- An implicit reference is now provided for the * characters in wildcard use clauses.
- Use clause aliases are recognized as separate entities, and code insight actions such as Go to declaration, Find usages, and Rename are now available for them.
- When obtaining a type in Ruby from RBS (Ruby Signature), it will display the expected type that the use clause and/or alias targets.
- All RBS inspections are updated to work with use clause aliases.
- Completion inside use clauses functions correctly, now that updates have been made to handle insertions properly.
- When invoking completion inside a file, use clause aliases are included in the completion list.
- Use clause alias names now have spell checking support.
Annotations and inspections for use directives in RBS
We continue to support this new feature in RBS, while in this EAP build we’ve added some annotations and inspections for misused directives. Here is the list of improvements:
- RubyMine now annotates use clause aliases when their cases do not match
- We’ve added an inspection for an unconventional use alias name, which behaves the same as other naming convention inspections.
- We’ve added an inspection for unused use clauses with a quick fix to “optimize use clauses”, which removes the unused ones.
- We’ve added an inspection for Unnecessary qualifiers. Qualifiers are sometimes unnecessary when there is a namespace or use clause present that imports the actual name.
- We’ve added a quick fix for simple unresolved references (those with no qualifiers) that propose adding a use clause to import the name if there is one available.
- There is now support for the Optimize imports action, which only removes unused imports and behaves the same as the inspection.
Text search in Search Everywhere
The Search Everywhere (Double ⇧ / Double Shift) functionality, primarily utilized for searching through files, classes, methods, actions, and settings, now includes text search capabilities similar to Find in Files. With this enhancement, text search results are displayed when there are few or no other search results available for a given query. The feature is enabled by default and can be managed in Settings/Preferences | Advanced Settings | Search Everywhere.
The full list of improvements in this version is available in the release notes. To learn about the latest features as they come out, follow RubyMine on Twitter. We post product news and tips several times a week.
We’d love to hear more about your experience with RubyMine. Schedule a 40–60 minute call with us to discuss and answer your questions!
We encourage you to share your thoughts in the comments below and to suggest and vote for new features in the issue tracker.
The RubyMine team
Subscribe to Blog updates
RubyMine 2024.1 Early Access Program is Open!
The RubyMine 2024.1 Early Access Program has now started! In this blog post, we’ll share our plans for the upcoming release and the areas we’re currently focusing on. The first EAP build includes performance and usability improvements, bug fixes, and updates to RBS language support.Now, you c…
RubyMine: How To Accelerate Project Indexing?
Hello everyone! We're excited to share more tips and tricks to enhance your RubyMine experience. In September, our team attended the Euruko 2023 conference, where RubyMine developer Maxat Mansurov delivered a fascinating talk on project indexing. Indexing is a process that involves forming indexe…
RubyMine 2023.3: Generally Available AI Assistant, Improved Project Indexing, New Supported Libraries and Technologies
RubyMine 2023.3 is now available! As we announced in our previous blog post, the latest version of our popular Ruby and Rails IDE comes complete with RubyMine’s improved project indexing. We also identified and resolved several problems that had been causing low memory performance and fr…
RubyMine 2023.3 EAP Update
Hello everyone! We’re back with an update on the state of the 2023.3 Early Access Program. You can download the latest EAP build from our website, via the free Toolbox App, or by using snaps for Ubuntu. Here are the biggest highlights of this release: Performance improvements As we me…