Introducing Remote Development for JetBrains IDEs
With the release of the 2021.3 wave of IDEs this week, JetBrains is adding remote development support to the IntelliJ Platform!
You can host your source code, toolchain, and IDE backend on a remote server, and use a local thin client based on the IntelliJ Platform to write, navigate, refactor, run, debug, and test your project. The experience is like working with a locally hosted project and a locally installed JetBrains IDE.
We’re also introducing orchestration support in JetBrains Space, our all-in-one solution for software teams and projects, to allow automated management of remote development environments as virtual machines in the cloud. Space keeps your code up to date, and your dependencies ready, compiled, and indexed so it’s ready for you to connect and start working in seconds!
JetBrains remote development
At its simplest, remote development will connect to an existing server via SSH. The IDE is installed as a backend service, where it will load a project without displaying a user interface. A thin client runs locally and connects to this IDE backend and provides a full working user interface as if the IDE was running locally, even though all the processing is done on the remote server.
This whole process is managed by JetBrains Gateway, a new, compact, standalone app that provides everything you need to get started with remote development. Gateway is also bundled as a plugin with a number of JetBrains IDEs.
The JetBrains Client runs locally and provides the user interface for the IDE backend. It’s based on the IntelliJ Platform and feels just like a full IntelliJ-based IDE – it has the same editor, code completion, navigation, inspections, and refactoring tools as a local IDE, but all of the files are hosted remotely and all of the language processing is done on the remote server.
⭐ Update: We’ve published a deep dive post on remote development by JetBrains Gateway, with lots of details, including a walk through and lots of FAQs. Click here to read more!
Remote development is a great way to make use of powerful cloud-based servers, create reproducible, clean development environments, and avoid the nightmare of losing a laptop full of important source code.
JetBrains Space cloud dev environments
We’re also pleased to announce that JetBrains Space, our unified platform for the entire software development pipeline, provides great orchestration support for remote development environments. Space now provides the ability to create a dev environment for any repository in a project.
You can choose the size of machine that you wish to spin up, and optionally provide a Dockerfile to create the image. You can also use Space Automation to get the dev environment ready beforehand, downloading dependencies, building the project, and running the indexes. This prebuilt snapshot is then saved and is available for the team to launch, copy, and share.
Space will spin up a development environment when you need it, and you can swap between branches by simply launching a new snapshot. When you’re finished with the task you can then simply delete it. If you’re in the middle of a task and need to stop, Space will automatically hibernate the workspace after 30 minutes of inactivity.
You can read more in the Space blog post.
Supported IDEs and licensing
Remote development is included as part of an existing paid subscription. It is built into the IntelliJ Platform that powers JetBrains IDEs. JetBrains Gateway is bundled with IntelliJ IDEA Ultimate, PyCharm Professional, GoLand, PhpStorm, and RubyMine. You can also use it via the standalone JetBrains Gateway app with CLion and WebStorm. We are planning to add support for more of our IDEs in future releases.
You can either download the 2021.3 release of your favorite IntelliJ-based IDE (coming this week!) or try the standalone JetBrains Gateway app to get started with remote development.
Check out the documentation and please let us know about your experience! And make sure to read more about Space dev environments.
One last thing
We’re very excited to bring remote development to JetBrains IDEs. And we don’t just mean IntelliJ-based IDEs such as IntelliJ IDEA, PyCharm, and GoLand.
Today, we’re also announcing Fleet – our brand new IDE created from the ground up using the knowledge and technology we’ve built over the past 20 years. Read more in the Fleet announcement blog post, and apply to join the Fleet Explorers preview program.