RubyMine 2017.3 EAP5: WSL Support, Improved Parameter Hinting
RubyMine 2017.3 EAP5 (build 173.3188.32) is out now and ready for your assessment. In this EAP we are finally able to announce the much-anticipated Windows bash support! This build also features improved parameter name hints.
This part of the post was updated on November 1, 2017, following Microsoft’s Fall Creators Update which led to changes in WSL support in RubyMine.
Here are the exact steps you can take to make WSL work in RubyMine:
1 Install Linux & Ruby on Windows
- Make sure you have Windows 10 Fall Creators Update installed.
- Install a Linux distribution from the Windows Store. We recommend using Ubuntu.
- Run Windows command line and execute the following command to set default user to root:
ubuntu config --default-user root
- Install Ruby and the libraries required to build native extensions:
ubuntu run "apt update && apt -y upgrade && apt -y install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev ruby ruby-dev nodejs && gem update"
2 Add WSL SDK in RubyMine
- If you use Spring, make sure bash is running:
- In RubyMine, go File | Settings | Ruby SDK and Gems and add WSL as a new remote SDK:
That’s it! Now you can develop Ruby and Rails projects utilizing RubyMine’s full potential, and avoiding any painful configurations.
Please note that there are currently two WSL-side issues that might have implications on using it:
- Bash doesn’t kill pids ran inside of it after the `taskkil` command. Github issue
- BSOD may happen when running bash commands. Github issue
Both issues have already been reported and fixed by Microsoft, and should be available in one of the further updates.
Meanwhile, we encourage our Windows users try out the new WSL integration, and report any issues they find to our bug tracker.
In version 2017.1 we introduced parameter name hints. Lately we have redesigned their behavior to eliminate some disconcerting and excessive cases.
First of all, now you can configure when to show parameter hints. Go Preferences / Settings | Editor | General | Appearance and hit Configure:
There you will find a list of options:
The first one is probably obvious, but let’s see what the latter two do:
With the second option “on” you won’t see excessive param hints anymore when a parameter value matches its name, e.g. when you are passing instance/class variables and methods. However, in this case you can still make sure you are passing correct arguments. Simply hit `⌘+P/Ctrl+P` and RubyMine will remind you what is what:
As for the Show implicit param grouping option, it works as follows: If a method is given a number of argument values and a splat operator, the IDE will wrap all the optional values into the improvised array for better visibility:
Doesn’t it just read better? In this particular case you can almost see the expected output:
Moreover, now when a method is passed default argument values and a splat operator, RubyMine will stop hinting this particular method call:
Don’t forget that you can always turn param hints on/off by going to Help | Find action Toggle parameter name hints, or even assign its own shortcut in Preferences/Settings | Keymap.
Your RubyMine team