RubyMine 2020.2 Beta
RubyMine 2020.2 Beta is available!
To give you a picture of what the upcoming 2020.2 release will look like, here is a roundup of the most notable new features.
The links will take you to the EAP posts published over the last few months, which contain detailed descriptions of each feature.
Note that Beta builds are significantly more stable than EAP builds, but some issues might still arise. If you run into any, please report them to our issue tracker. No license is required to use this build.
Liquid template language support
The upcoming RubyMine 2020.2 includes basic support for the Liquid template language:
- Support for Liquid syntax, including tags or braces like
{{
,{{-
,{%
,{%-
. The IDE displays errors if there are any issues with the syntax. - Live templates allow you to insert frequently used constructions into your code.
- Folding code blocks, such as tags or if-else statements.
- Reformatting the code according to the requirements you’ve specified in the Code Style settings.
- Support for comments, within
{% comment %}...{% endcomment %}
tags and inside the code blocks. - Support for named parameters, methods with question marks in their names, and more.
Ruby and Rails
- Improved completion for standard library methods. RubyMine now suggests more accurate completion for a variety of methods, including
Array#sort_by
,Hash#each
, and many others. - Support beginless ranges introduced in Ruby 2.7.
- You can now launch the IRB console from Run Anything with Ruby 2.7 (RUBY-25603).
- Completion in the Gemfile now shows only the latest local version of the gems (RUBY-25792).
- RubyMine now displays a warning if you try to pass an incorrect number of parameters to stub methods, including
Array.to_h()
,Dir.each()
, and others (RUBY-26096). - We’ve added the “ordinary parameter is defined” warning for all lambda cases in numbered parameters (RUBY-25405).
- We’ve added type support for the
not
call in active record relation chains. Now when awhere
method is not provided any arguments, RubyMine will offernot
as a completion (RUBY-25519).
New Intention Actions
RubyMine 2020.2 comes with a load of new intention actions to help you optimize your code.
Conditional operators:
- Flip ternary and if-else operators.
- Switch between nested ‘if’ statements and boolean expressions.
- Switch between ‘else/if’ and ‘elsif’ statements.
- Merge/split sequential ‘if’s.
Ruby and Rails:
- Convert named parameters to numbered and vice versa (Ruby 2.7).
- Expand lazy key in Rails applications.
- Add an attr_accessor/reader/writer to an instance variable.
Navigation and readability:
- Go to super method / Go to overriding methods.
- Expand or flatten namespace.
- Sort hashes by their keys
- Add/remove clarifying parentheses.
- Add/remove underscores in numbers.
- Introduce a new local variable.
- Inline local variable.
- Switch between block and line comments.
IDE
- Clearer code completion for overridden methods that makes it easier to understand where a suggested method is coming from.
- A new way to review problems in your code with an interactive list of warnings and errors which you can use to apply quick fixes.
- Improved readability of folded if/while/for statements which makes it easier to see whether you need to unfold the construct and look into it.
- New presentation of the search results in Search Everywhere with items sorted by their relevance to the search query.
- Accessibility improvements: if a user has a screen-reader enabled, RubyMine will automatically enable its accessibility features.
Version Control Systems
- More advanced support for GitHub pull requests. It allows you to browse, assign, manage, and even merge pull requests, view the timeline and in-line comments, submit comments and reviews, and accept changes.
- Improved Git actions dialogs.
- Support for Git installed in WSL2.
You are welcome to 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.
As always, we encourage you to share your thoughts in the comments below and to create and vote for the features you want to see using our issue tracker.
Happy Developing!
The RubyMine team