RubyMine 2021.1 Beta 4: Code With Me and Improvements for Docker
Our Early Access Program is coming to an end, and we are happy to announce that RubyMine 2021.1 Beta 4 is now available! While we are finishing things up before the final release, we’d like to tell you a bit more about the new features for collaborative development and Docker:
Code With Me
Code With Me, a new JetBrains service for collaborative development and pair programming, is now bundled with RubyMine.
Code With Me allows you to share the project you currently have open in your IDE with others and work on it together in real time.
Your guests don’t even need to have their own IDEs installed. They just need an invitation link to be able to join your session. Hosts can determine individual guest permissions.
The embedded audio and video calls, along with chat messaging, will help you discuss the code, share knowledge, and cooperate even more efficiently.
Please note that Code With Me for RubyMine is still in active development, and some IDE features are currently only supported on the host’s side, but not on the client side.
The features that are already supported include editing the code together with your peers, auto-completion, code insight and navigation, debugging, running tests and existing run configurations, and running terminal commands.
Features that are still in development for the client side include profiling, rerunning failed tests, creating new run configurations, code coverage, database management, and Run Anything. Consoles (IRB, Pry, Rails) are currently available in read-only mode on the client side.
We encourage you to share your feedback with us, and let us know which features you would like to see added first!
Docker
Improved Run/Debug Configurations
We have reworked the Run/Debug Configuration dialog for Docker configurations.
To add run options, click Modify. To add the necessary build options, click Modify options. The IDE now validates each option to make sure it is compatible.
For Docker Compose, RubyMine now supports all the existing options, including the one for declaring Environmental variables files (.env
).
For Dockerfiles, you don’t have to remember all the run commands because code completion works in the Run Options field.
For Images, you can use code completion to enter the image name in the Image ID or name field.
BuildKit support
We’ve added experimental support for BuildKit, which makes building projects much faster. To activate this option, click Modify options in Run/Debug Configurations, and select Enable BuildKit (experimental).
Building named stages separately from the whole multi-stage Dockerfile is now easier and faster. Click the hammer icon next to the stage name, and the IDE will build the image using BuildKit. If you add the Run section in Run/Debug Configurations, the icon will change. When you click it, you will not only build an image but also run a container.
UI enhancements in multi-stage Dockerfiles
If you use multiple FROM statements in your Dockerfile, each FROM instruction starts a new stage. In v2021.1, you can now fold stages and see a distinct separator line between them.
Cancel Docker run
If you decide to stop your running Dockerfile, you can easily do so in the Services tool window. Select the running item, call up the context menu, and click Stop Deploy.
Environment variables and macros for Docker mounts
When using bind mounts, you can now enter a path to a directory on the host machine faster. The completion mechanism allows you to select macros and environmental variables in the Bind mount option in Run/Debug Configurations.
Image completion in Dockerfiles
Adding image names has become easier — code completion now works for them.
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 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 would like to see in the issue tracker.
Happy Developing!
The RubyMine team