Find usages can be used to find all the pieces of code referencing a specific element, such as a class, method, symbol, or many of the others. RubyMine can also find dynamic usages, including Rails associations, factories, or delegates. You have the ability to specify the scope and search through an open file, project, referenced libraries, and so on.
Find usages is very helpful for investigating a project and refactoring your code. For example, the Rename refactoring requires high accuracy when finding usages for a target element, so that you can trust the IDE when making such changes.
In this blog post, we’ll show you how to show usages of an element in the editor or separate window, change the search scope, change the layout of a report with search results, and so on.
As you may already know, RubyMine provides a unified way to run Ruby scripts, Rails applications, Rake tasks, Rails generators, and so on with the powerful Run Anything (double Ctrl). At the same time, you can run Rails generators and Rake tasks using dedicated popups. For example, you can run the desired Rake task by pressing ⌥R / Ctrl+Alt+R and then finding the required action:
This is similar too for Rails generators ⌥⌘G / Ctrl+Alt+G:
Starting with v2019.3, we have decided to replace the older popups with Run Anything and provide a single point of entry for running tasks/generators. So now, pressing ⌥R / Ctrl+Alt+R invokes the Run Anything popup and adds the rake command automatically. As you can see in the image below, you can reload and run Rake tasks.
We plan to discontinue support for the following plugins in RubyMine v2019.3:
Unfortunately, these plugins have gained very little traction and are seldom used, coupled with the impractical maintenance they need, we feel that our efforts would be best spent elsewhere.
The end of support means that these plugins will be incompatible with v2019.3 and newer, and they will no longer be updated. Therefore, new feature requests and bug reports will also not be accepted.
We are publishing the source code for the RubyMotion support plugin in case you want to customize it for your own needs or contribute to it and support it for the community: https://plugins.jetbrains.com/plugin/10674-rubymotion-support.
UPD: You can find source code for the RubyMotion and Heroku plugins in the ‘intellij-obsolete-plugins’ repository:
We are sorry for any inconvenience caused.
Should you have any questions, please feel free to ask them in the comments section below.
Your RubyMine team
RubyMine 2019.3 EAP (build 193.2956.44) is now open! In this release, our main focus has been on your feedback and the IDE quality: we’ve added a mapping of Rubocop severities to RubyMine inspection severities, fixed up navigation to usages of class or module constants, resolved a number of issues related to find usages and polymorphic association code insight, and so on. We’ve also polished some of the editor capabilities related to Ruby 2.7 support.
Here’s the list of improvements that have been made:
This build also contains important bug fixes:
Don’t hesitate to add any of your comments under this post or to the issues. We value them.
Download RubyMine 2019.3 EAP
See the release notes for the full list of changes, and please report any issues you encounter.
Your RubyMine Team
RubyMine 2019.2 is now released! Visit the What’s new page for a detailed overview of the new v2019.2, or check out the highlights below:
- The debugger is significantly faster
- Investigate every method or block on a line with Smart Step Into
- Set breakpoints at blocks
Posted in Announcement
One of the main advantages of IDEs over text editors is the debugging experience. In this blog post, we’ll review the rich debugging capabilities available in RubyMine and then we’ll have a quick rundown of the new debugging features added in v2019.2. These include performance optimizations, Smart Step Into, block breakpoints, and others.
The RubyMine debugger provides various ways to examine the state of a running application: you can step through your code and check variable values, set watches on variables to see when values change, and so on. All of these features are applied to Ruby projects and Rails applications. You can debug everything from .rb scripts to .erb and .haml views.
Let’s dig a little deeper into the debugging process and see how we can start a debugging session, set and configure breakpoints, evaluate variables and expressions, and all the other little useful things you should know about in between.
YARD is a popular Ruby documentation generation tool that is used in multiple libraries for documenting code. RubyMine helps you to work with YARD tags and documentation in various ways, for example, you can view the documentation using Quick Documentation Lookup, create missing YARD tags, and check the validity of a YARD tag. RubyMine can also utilize the YARD annotations for better code insight, it uses them to help suggest more relevant results in code completion and parameter hints for methods.
In this blog post, we’ll remind ourselves about the existing capabilities available in RubyMine for YARD and look at the new ones we’ve added.
RubyMine 2019.2 EAP (build 192.4205.37) is now open! The first EAP build adds support for new things in Rails 6, improves YARD and Factory Bot support, and fixes many bugs. Here’s a short version of the completed tasks:
JetBrains Runtime 11
RubyMine 2019.2 uses JetBrains Runtime 11 (the fork of OpenJDK 11 with fixes from the JetBrains team). This transition addresses a range of issues and hopefully will make your experience with our IDEs much more pleasant.
Please stay tuned to the blog for further updates and major features in the upcoming v2019.2.
Download RubyMine 2019.2 EAP
See the release notes for the full changelist, and please report any issues you encounter.
Your RubyMine Team
RubyMine provides you with loads of different useful features for working with source code: from basic code editing, smart navigation, and completion, all the way through to debugging remote applications. We always try to make features easy to use and discoverable, but sometimes it happens that our users still don’t know about some pretty handy capabilities. For example, when communicating with our users at conferences, we note that even the most grizzled veterans of RubyMine, that have been using it for years, sometimes don’t always know about some of the most basic navigation abilities that RubyMine provides, like Go to Class, not to mention the more advanced features. That’s why we have refined the well-known IDE Features Trainer plugin for IntelliJ IDEA and added lessons based on Ruby code examples.
Starting with v2019.1.2, you can learn basic shortcuts and essential features interactively – right inside the IDE. You can try basic editing operations (commenting and uncommenting code, selecting, deleting, or moving lines), navigation and completion capabilities, and so on.