Product
October 28th, 2021

Remote Development with JetBrains IDEs

author avatar
Ben Potter
Developer Advocate

SHARE

JetBrains has released some tools that make it possible to develop remotely with their suite of IDEs 🎉

You may have heard of JetBrains Projector, released in March 2021, which runs JetBrains in the web browser, making remote development a possibility for JetBrains IDEs like IntelliJ, PyCharm, GoLand, WebStorm, and more. Recently, JetBrains Gateway was also released which makes it possible to develop on any server over SSH.

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.

Option 1) Connect with your local IDE: JetBrains Gateway 🖥️

On November 28, JetBrains launched the Jetbrains Gateway Beta, which makes it possible to connect to and develop on a remote server with local JetBrains IDEs.

To get started:

1) Download the JetBrains Gateway via JetBrains Toolbox for the latest version

2) Connect to a remote server (or Coder workspace) over SSH

In the near fututre, JetBrains IDEs will be updated to include with remote development support, making Gateway optional.

Option 2) Connect with the web browser: JetBrains Projector

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

6) Run 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.


Coder is a cloud developer workspace platform. Manage multiple workspaces, templates, users, and even develop with multiple IDEs including VS Code, JupyterLab, and JetBrains of course.

To get started, you can self-host Coder or try our hosted beta.

RELATED ARTICLES

Enjoy what you read?

Subscribe to our newsletter

By signing up, you agree to our Privacy Policy and Terms of service.