Platform logo

JetBrains Platform

Plugin and extension development for JetBrains products.

Make Your Plugin Remote Development-Ready

Remote development is changing how plugins should be built for JetBrains IDEs. The IDE is no longer a single local process: users interact with a frontend client, while the backend can run on another machine, in Docker, or in the cloud. This model is becoming increasingly important because it supports powerful remote environments, better security, and more flexible development workflows. In the case of JetBrains IDEs running backend and frontend processes simultaneously, we say they are operating in split mode.

For plugin developers, it is therefore not only crucial that they consider how their plugin works, but also where each part of it should run. Some extensions continue to work as they are, but UI, typing-related features, and anything sensitive to latency can become slow or behave incorrectly if they are not designed with client-server architecture in mind.

The new recommended approach is to think in terms of frontend, backend, and shared functionality, and make sure each part of the plugin runs on the side it belongs. The suggested plugin architecture works in both client-server IDE and monolithic IDE, so plugin authors don’t need to implement support twice.

To help with that, we now provide guidance for building split-mode-aware plugins in JetBrains IDEs. It explains the terminology, motivation, architecture, and how to run, debug, and test in split mode. It walks through the practical steps as well: structuring plugin modules, moving code to the appropriate side, and connecting the frontend and backend to each other.

To help you put your best foot forward in this brave new “split mode” world, we’ve prepared the following materials:

  • A high-level video overview.
  • A plugin template featuring proper module structures and demo feature implementation to use as a reference.
  • Documentation articles covering the most important aspects of plugin development, as well as a step-by-step guide on how to approach the splitting process
  • A link to the JetBrains Platform forum, where you can ask any questions regarding the development process and browse existing answers..