RubyMine 2017.3, the best and final update for RubyMine this year, is now available for your review! Check out the new features below and give it a try. Don't forget to share your feedback!
This release has significant performance improvements that the team have been working on the whole year. To put it in a nutshell, the IDE has become faster, which is especially easy to see when RubyMine works at full blast. Go to Code | Inspect Code to run it for your whole project and see for yourself.
Navigate to Declaration, one of RubyMine's most beloved and used features, has become even better! We've eliminated bottlenecks that might have prevented you from jumping to external keywords like callbacks and responders. Update now to see the rest of the resolution improvements no other editor can offer.
Code Insight features have been significantly reworked. In particular, RubyMine has become much better at mapping declared method arguments with the given ones.
Not only that, but some built-in Inspections and Intentions have been fixed, making the IDE even more robust.
Run v2017.3 and inspect any particular errors, and fix them in bulk across the whole project.
Another highlight of the new RubyMine improvements is that now there is better support for applications with nested projects, like Rails Event Store. For these types of applications, the IDE detects the projects located within the app and their own Gemfiles and allows you to install and resolve the required dependencies.
Please note, your feedback is indispensable for us to further improve the applications with complex architecture.
RubyMine 2017.3 features Windows Bash Support! We encourage our Windows users to try out WSL in RubyMine to get rid of any painful configs on Windows, and exploit the full power of the IDE.
Follow this tutorial to install WSL, and then add it as a remote SDK in RubyMine (Preferences / Settings | Languages & Frameworks | Ruby SDK and Gems | New remote).
Extracting methods with RubyMine is a piece of cake, but now it's even sweeter. With this release you can extract methods (Refactor | Extract) to a
protected, or even
public section if you want.
Starting from now, RubyMine's RuboCop in-editor autocorrections outperform any other alternative. With a simple Alt+Enter you can autocorrect the whole file or fix a specific cop department or an offense class.
Together with RubyMine's respect for your
rubocop.yml configs, this makes the IDE your personal code style censor.
You asked us to add an ability to indent
protected methods, and now you got it! Find these options in Editor | Code style | Ruby and reformat your methods' indentation the way you want (Code | Reformat code).
In addition, you can now choose which operators should be wrapped with space, and which kept as is. The formatter will follow your choice.
Parameter name hints have become much cannier: you can now configure them to be displayed for literals only, as well as turn them off for excessive cases, e.g. when the given arguments are self-explanatory.
Moreover, the new Show implicit param grouping option will wrap all the optional values into the improvised array for better visibility.
Find the new settings in Preferences / Settings | Editor | General | Appearance.
DevOps is the future and Puppet doesn't rest on its laurels – nor does RubyMine! The new release brings support for the EPP template syntax.
Not only does the IDE now recognize the original EPP syntax, but it also correctly autocompletes and navigates from templates to manifests and back.
On top of that, Rename Refactoring works for variables and parameters, and you can Find Usages of your template files in seconds.
The new Trace to_s evaluation option detects costly operations and throws a timeout message, saving you time during the debugging session.
Find it in Preferences / Settings | Build, Execution, Deployment | Debugger and check it out for yourself.
This release introduces a new way to test APIs from the IDE. Now you can write HTTP requests in a
.http file and then quickly run them with the icons on the editor gutter.
The Vue.js support features, completion and navigation to the definition, now work for Vue props, properties in the data object, computed properties, and methods. You will also find a collection of code snippets for Vue!
Code completion for CSS properties and values has become more precise, with the previously missing completion suggestions added for values with transform, transition, and pointer-events properties.
The Log viewer now offers an Interactively Rebase from Here action, which can help you pick, edit, skip, squash, reword, and fixup commits through a convenient UI dialog.
Now when you switch between branches, the IDE preserves your workspace: the opened files, the current run configuration, and the breakpoints.
Finally, RubyMine now shows the files which were changed by merge commits, even if they differ from one parent. Not only that, but the IDE also displays a 3-panel Diff for the merge conflicts.
The Schemas node in the database tree has been replaced with a hover option, which shows the number of schemas currently displayed in the tree. Click on it to add or hide schemas.
You can now use the SQL generator to generate DDL scripts with options. Go to Context xmenu | SQL Scripts | SQL Generator and get the generated DDL of any type of object (table, schema, procedure) or even several objects simultaneously.
Also, we’ve added the following SSH improvements:
Finally, the long-awaited ability to group data sources is available in this release.
RubyMine 2017.2, the second major update for RubyMine this year, is now released! Check out the new features below and give it a try. Don't forget to share your feedback!
RubyMine 2017.2 upgrades Docker support with Docker Compose! Open your Docker project in RubyMine, and set Docker Compose as a remote SDK (Preferences / Settings | Languages & Frameworks | Ruby SDK and Gems | New remote | Docker Compose). Now you can work with your multiple Docker containers taking advantage of the whole set of RubyMine features from code analysis and editing tools to debugging and testing suites!
Moreover, with this release you can debug apps inside a docker-compose service using the powerful RubyMine debugger. You have configured Docker Compose in RubyMine. Now add gems ruby-debug-ide and debase to your Gemfile, install them with docker-compose build. Now set breakpoints where needed and start debugging Ruby or Rails apps inside your container!
Our previous major release featured RuboCop inspections. This release enhances them with an ability to auto-correct the discovered code smells. Put a caret on a highlighted code, press Alt+Enter, and fix all bad code in the file with RuboCop.
The new Arrangement and Blank lines code style options allow you to configure how different blocks of code such as fields and methods are ordered and separated. Call the Rearrange Code action or use it together with Reformat Code to make code more readable and consistent.
For Sass and SCSS selectors created using &, you can now use code completion in HTML files and navigate to the definition.
For the nested selector, you can quickly jump to the definition with Cmd-click / Ctrl+click.
The settings for the Commit dialog have been reworked and moved to the Commit Dialog page (Preferences / Settings | Version Control | Commit Dialog).
The new settings let you customize the rules applied to commit messages: a blank line between the subject and the body, and the maximum length. Also, now the IDE offers a quick fix and the Reformat action inside Commit Message.
The Shelf tab has been reworked for better performance and ergonomics. Now it has a Preview panel and provides a new action to compare the “shelved” version of a file with its local version.
The Preview panel in Find in Path now has a Gutter – a left-side pane like the one in the editor – with line numbers, navigation icons, and local change markers.
Search results from the same lines are now merged together.
RubyMine 2017.1 brings full support for Docker! Download the Docker integration plugin right from the IDE, choose a remote Docker SDK, and enjoy working with your Docker projects like you do with local ones. Take advantage of code analysis, completion, and other smart features available in RubyMine.
Create RVM gemsets from the New Project wizard. When you create a new project, the IDE will automatically suggest a similarly-named gemset and will use your project gems within this gemset. In this way, RubyMine helps you keep gems for your projects separately, preventing each of your projects from possible damage.
Alternatively, RVM gemsets can be also created in the Ruby SDK and Gems dialog.
We have added an ability to create tests for Rails controllers, models, helpers, and mailers from the Go to test action. So if you have a Rails entity without a related test, RubyMine will suggest to install the testing framework (currently works with RSpec and Test::Unit) and generate the test. You can also roll back changes if something goes wrong.
Puppet modules can be now generated quickly right from the New Project wizard. The IDE automatically detects the gems needed for Puppet and then suggests installing the missing ones. If you are already working on an existing project in RubyMine, you can also create a new Puppet module in a second from the context menu.
As for other improvements, RubyMine now can install dependencies based on .fixtures.yml.
The IDE finds all modules and/or environments in the project and updates the project structure with one click from the context menu. Open your Puppet project, Install dependencies through context menu, and enjoy working with your modules with all their dependencies accounted for.
Vue.js support is now available in RubyMine through the official JetBrains plugin (Settings | Plugins | Browse repositories). Enjoy coding assistance for Vue template language and the language of your choice in the script and style blocks of a .vue file. The IDE automatically completes Vue components and adds the required imports for them.
Select a React component defined in your application in the completion popup – and the IDE will add an import for it automatically. RubyMine will also suggest a fix in case you forget to import React.
The Log viewer now supports regex and case-sensitive commit message search.
Now you can control how much information the Log viewer displays. For example, you can disable Show Tag Names to make the view more compact, or enable Compact Reference View to see only the first branch name and hide the others.
Also, if you are working with big projects with tons of commits, you will be glad to know that the search in Git Log has become significantly faster.