Early Access Program News

RubyMine 2017.2 EAP 1: Docker Compose!

Hey all,

Today we are announcing RubyMine 2017.2 EAP 1 (build 172.2273.6), the first update in a series of Early Access Programs for v2017.2 that will be released in the middle of the summer. Here’s what we’ve got for you:

Docker Compose

Docker support was announced in the RubyMine 2017.1 release post, but back then it was missing Docker Compose which many of you expected. Today we are bringing it out! Here’s how you set up Compose in RubyMine:

First, you should have a Docker project running through docker-compose. In previous releases you also had to install the Docker integration plugin, but now it’s bundled in the IDE, so no additional actions are required.

The next step might be non-obvious because currently RubyMine doesn’t provide any special interface to deal with the Docker environment or the apps running with Docker.

In RubyMine, open a folder containing your Docker project (File | Open). Skip any notifications in RubyMine as you haven’t specified your Docker SDK yet, so at this point the IDE assumes that you are running a local project:

open_docker_folder

Open your SDK settings (Preferences / Settings | Languages & Frameworks | Ruby SDK and Gems), and add Docker Compose as a new remote interpreter (New remote | Docker Compose):

set_up_docker_compose_rails

As you can see, RubyMine locates your Compose file automatically, but you can always manually specify a path to docker-compose.yml.

Also, don’t forget to choose which Service to run. As I’m adding a plain Compose Rails app, I’ve chosen web.

When you click OK, the IDE will run and add it to the list of available SDKs. This will probably take a minute. Once done, choose your newly added Docker SDK, and click Apply so that RubyMine starts reindexing your project. Then click OK:

run_docker_compose_rubymine

Congrats! Now you can work with your multiple Docker containers like with your local apps, taking advantage of the whole set of RubyMine features from code analysis and editing tools to debugging and testing suites!

One thing to remember: While RubyMine is able to detect any new gems you add to your Gemfile, it would still suggest to install them locally. Instead, when you update your Gemfile with new gems, run docker-compose build from the terminal (View | Tool windows | Terminal), and re-run your project.

Revert selected commit in Git log

As you may have guessed, Revert is the implementation of git revert, which allows you to remove any registered changes by adding a new commit. This operation doesn’t change the existing commit history, and is used for public branches:

git_revert_rubymine

Just like with Git, the IDE will warn you about conflicts, and won’t let you revert in case you have yet uncommitted changes:

git_revert_failed_rubymine

JavaScript improvements

This update features a number of JS improvements coming to RubyMine from WebStorm:

  • Parameter hints in TypeScript
  • Auto imports in JavaScript
  • Completion and auto import for React stateless components
  • Code rearrangement for JavaScript and TypeScript
  • Completion and auto import for React stateless components
  • New code style options for JavaScript and TypeScript

Read more about these updates in the related blog post.

Download this EAP from Confluence.

See the release notes for the full list of improvements, and use our tracker to submit any issues you encounter.

Share your thoughts on this update in the comments below & join us on Slack!

Cheers,

Your RubyMine team

image description