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
Thanks, we've got you!
The RubyMine 2023.3 Early Access Program Is Open!
Hello everyone, The third RubyMine Early Access Program of 2023 is underway! The key change in the first EAP build is an important indexing optimization. By refactoring our code base, we’ve doubled RubyMine’s indexing speed compared to v2023.1. This is particularly noticeable when working wi…
Collaborative Programming in RubyMine
Hi everyone, We're back with a new how2pro blog post unveiling another cool RubyMine feature – the Code With Me plugin. When you're knee-deep in a complex task or tangling with an issue that's testing your limits, having someone by your side can make all the difference. Additionally, in an educati…
RubyMine 2023.2 With AI Assistant Is Out!
RubyMine 2023.2 is now publicly available! You can download it from our website or via the free Toolbox App. The latest version of the most intelligent Ruby and Rails IDE brings the brand-new AI Assistant and is packed with other improvements, including Turbo code completion in Ruby on Rails proj…
The RubyMine 2023.2 Beta: Updated AI Assistant, LSP API for Plugin Developers, and More
The RubyMine 2023.2 Early Access Program has reached Beta! Below are some of the new features in the upcoming release that we haven’t yet mentioned. Please try it out and share your feedback either in the comments or through our issue tracker. Documentation generation with AI Assistant …