JetBrains has released some tools that make it possible to develop remotely with their suite of IDEs 🎉
Developing on a remote server has a lot of great benefits, including improved speed, security, and consistency. You can also connect to your workspace from any device! In this post, we’ll compare the tools and walk you through how to get started developing on a remote server (or in Coder) with JetBrains.
While it's still in active development, JetBrains Gateway makes it possible to connect to and develop on a remote server with local JetBrains IDEs.
1) Download the JetBrains Gateway via JetBrains Toolbox for the latest version
2) Connect to a remote server (or Coder workspace) over SSH
JetBrains has also added support in their latest IDEs (2021.3 and above) for remote development without the Gateway application.
Another option would be to use JetBrains Projector. You can install JetBrains IDEs on a remote server and access them via the web browser. As mentioned in their launch post, JetBrains Projector can be particularly useful if you would like to develop securely from a thin client (web browser).
At the time of writing, the following IDEs are supported: IntelliJ IDEA Ultimate, IntelliJ IDEA Community, IntelliJ IDEA Educational, PhpStorm, WebStorm, PyCharm Professional, PyCharm Community, PyCharm Educational, RubyMine, CLion, GoLand, DataGrip, DataSpell, Rider, Android Studio.
There are a few ways to install JetBrains Projector including container images, install scripts, or even an IDE plugin. If you have many opinions on how to install apps on remote servers, visit the Projector docs for more information. In this guide, we’ll install Projector with pip.
1) If you don’t have a remote server, you’ll need to create one. An Ubuntu virtual machine from Vultr with 4 CPU cores and 8 GB of memory will work great.
2) Connect to your virtual machine using SSH or the built-in console
3) Install dependencies
DEBIAN_FRONTEND=noninteractive sudo apt-get update && \ sudo apt-get install -y less libxext6 libxrender1 && \ libxtst6 libfreetype6 libxi6 python3 python3-pip && \ python3-cryptography
4) Create a user to run Projector
sudo adduser coder # give this user sudo access sudo usermod -aG sudo coder # log in as this user su coder
5) Install pip and the projector-installer
python3 -m pip install -U pip --user pip3 install projector-installer --user # If you see a warning, add $HOME/.local/bin to path in $HOME/.bashrc vim $HOME/.bashrc && source $HOME/.bashrc
# $HOME/.bashrc # Add to end of file: export PATH=$PATH:$HOME/.local/bin
projector install to install your first IDE on the remote server
7) Install your IDE of choice
8) You can now connect via the web browser!
9) If you haven’t already, you’ll probably want to secure your server. You can edit your config with
projector config edit. A few options are
Coder workspaces support JetBrains Projector out of the box. You can use one of Coder’s packaged JetBrains images, or build a custom image including a JetBrains IDE.
Learn more about our projects and our commitment to the open source community.
code-server: the heart of Coder
code-server is the primary open source project we maintain. It allows developers to use a browser to access remote dev environments running VS Code. Coder builds upon the success of code-server and adds features designed for enterprise teams including support for additional IDEs and advanced security features.