FAQ about remote development
Remote Development is a new functionality in PyCharm that enables you to connect to a remote server with the IDE backend running there from anywhere in the world, and work on a project located on that server as seamlessly as if it was located on your local machine.
Ability to edit, build, or debug applications on a different OS than you are running locally.
Ability to use larger or more powerful hardware than your local machine for development.
Ability to use a laptop as a thin client, no source code needs to be hosted on your local machine.
Ability to work from anywhere, while the sensitive intelligence is hosted on the company’s servers only.
To use a vendor plugin or the built-in SSH functionality of remote development, you need to have a license to the corresponding IDE, the same way as for the desktop version. The license will be asked on the local machine upon connecting to the remote IDE. If your local workstation already has an active suitable license, JetBrains Client will pick it. If you'd like to become a vendor or are orchestrating remote development within your organization, contact us for further details.
The process of the remote development works as follows:
You have a server which is a physical or virtual machine to host the source code and run headless PyCharm or other IDE that will perform most of the IDE features.
You have a client, which is a physical machine used by developers to connect to the server and provide a thin client which will be used for developers work. For example, it could be your laptop.
You start JetBrains Gateway that connects everything together and gets you a thin client as an output that has an advanced editor, which is based on JetBrains Rider’s RD protocol that makes typing and working in the editor feel instant.
You can refer to the system requirements section.
Only Linux servers are supported as suitable for the backend. macOS and Windows are planned, but we can't provide ETA yet.
Both remote server and local computer, or only the local one must have a network connection to JetBrains' URLs from this list:
https://code-with-me.jetbrains.com
https://download.jetbrains.com
https://download-cf.jetbrains.com
https://download-cdn.jetbrains.com
https://cache-redirector.jetbrains.com
https://data.services.jetbrains.com/products
These addresses provide corresponding versions of the JetBrains Client (thin client) and JBR files.
Basically, JetBrains Gateway is a launcher that brings a backend server and local environment together. It runs on the local machine, and allows you to create new environments or connect to the existing ones. After you request an environment in the JetBrains Gateway, it launches JetBrains Client that is specific to that environment.
Yes, you can. However, it still downloads JetBrains Client. All functionality that comes along with the JetBrains Gateway is available in PyCharm.
To avoid doing any kind of local development on your client machine
To have a single entry point for the variety of your remote backends
The JetBrains Gateway makes all JetBrains IDE backends available to a user. It allows you to configure new remote connections as well as manage the existing ones. It will automatically download the exact version of the client that will work with the IDE backend.
Since version 221.5481, you can manually register an existing backend IDE on the remote server and make it visible for the Gateway. Installed IDE will appear in the list of available builds.
Take a look at the related instruction in starting page.
The communication between JetBrains Client and the IDE backend is end-to-end encrypted with the 1.3 TLS even if performed in a secure SSH tunnel. We use TLS 1.3 and on top of that, the SSH security connection is used.
The telemetry rules are the same as in PyCharm with the same consents, settings, and defaults. For more information, refer to Data Sharing.
The connection is direct, no JetBrains relay servers are involved.
JetBrains Client that is based on the PyCharm platform and the Projector technology are used to display remote GUI locally.
JetBrains Client has an advanced editor that is based on the JetBrains Rider’s RD protocol, which makes typing feel instant. Additionally, the advanced code intelligence that’s done on the PyCharm server is presented in a way that looks as if it’s running locally.
If I install plugins while working in JetBrains Client, do they get installed on the remote server?
You can install plugins the same way you do in your regular project. Remote plugins are marked with the On Host label. Keep in mind that plugins are installed per project.
Any shortcuts set in JetBrains Client are supported both locally and remotely during a remote session.
They are both available in the PyCharm Professional edition only.
Thanks for your feedback!