RubyMine 2017.2.3: Docker Compose on Windows & More on the Debugger
This post was updated from the v2017.2.3 Release Candidate announcement to the announcement of the stable RubyMine 2017.2.3 release.
RubyMine 2017.2.3 (build 172.3968.40) is available. The highlight of this build is the ability to now work with Docker and Docker Compose on Windows. Additionally, in this post we will share more details on the recent debugger improvements.
Running Docker Compose on Windows
If you are running Windows, you probably know that support for Docker and Docker Compose, announced in v2017.1 and v2017.2 respectively, didn’t work for our Windows users because of an inability to configure Docker/Compose as a remote Ruby interpreter in RubyMine. Today’s update finally fixes this and other issues related to the Docker integration on Windows. In short, you should now be able to configure Docker/Compose on Windows the same way as shown below:
Refer to this post to learn how to setup Docker Compose in RubyMine in detail.
More on the Debugger
The previous update was devoted to improvements in the debugger with the following most important ones:
- Performance issues with the debugger being slow or freezing
- Debugging and attaching to Zeus, Passenger, Foreman web servers, and any other multi-process applications
Previously, costly operations were slowing the debugger down while stepping during the debugging session. But in the previous release we added a way to detect such operations and provide a timeout message instead. Take a look at the example below:
As you can see, instead of evaluating expressions the debugger threw a timeout message, saving you time during debugging. Inline debugging, in this case, shows <`?`> instead of actual values for the object skipped.
By the way, the debugger provides a backtrace for each timeout operation, which you can find in the debugger’s Console View if you check Verbose debugger output in settings (Preferences / Settings | Build, Execution, Deployment | Debugger).
What if you want to know what a specific variable is equal to despite its heaviness, but get a timeout message instead? In this case, you can simply evaluate that code fragment with the Evaluate Expression:
Finally, if you believe that the new timeout feature doesn’t improve your debugging experience, just uncheck Trace `to_s` evaluation (Preferences / Settings | Build, Execution, Deployment | Debugger), and the debugger will start tracing every object like before:
Debugging & Attaching to multi-process apps
Starting with the previous EAP you shouldn’t have any issues debugging multi-process applications like Passenger, Zeus, and Foreman. You can also attach to the local processes of such applications painlessly.
For example, if you want to debug your Rails app running as a sub-process of a currently running Foreman webserver, you can just attach to Foreman, and RubyMine will also attach to the Rails app, or any other existing sub-process:
Download this build from our website, and please let us know in the comments below if the new improvements help address your issues with Docker (for Windows users) and the debugger.
Your RubyMine Team
Subscribe to Blog updates
Thanks, we've got you!
The RubyMine 2023.3 Early Access Program Is Open!
Hello everyone, The third RubyMine Early Access Program of 2023 is underway! The key change in the first EAP build is an important indexing optimization. By refactoring our code base, we’ve doubled RubyMine’s indexing speed compared to v2023.1. This is particularly noticeable when working wi…
Performance Improvements in RubyMine 2023.1
Hello everybody, The new release is fast approaching, so it’s time to unveil the performance enhancements you can expect from RubyMine 2023.1. Faster code completion When developing and supporting RubyMine, we analyze a great load of anonymized usage data. A lot of recent data pointed to the fact t…
RubyMine 2023.1 EAP5 Is Out!
Hello everyone, RubyMine 2023.1 EAP5 is now available! Below you can find the most notable features in this build. We encourage you to try them out and share your feedback in the comments or in our issue tracker. Migration of Ruby code to the Symbol API In order to improve code insight actions such…
The RubyMine 2023.1 EAP2 Is Out!
The RubyMine 2023.1 Early Access Program recently started and EAP2 is already here! You can get the new build from our website or via the free Toolbox App. In this post, we’ll highlight some of the most important updates included in the new EAP version. Rails 7: support for turbo-rails complet…