Готовим плагины JetBrains к удалённой разработке: split-mode
Источник: https://blog.jetbrains.com/platform/2026/05/make-your-plugin-remote-development-ready/
Краткое содержание
JetBrains публикует руководство по адаптации плагинов под remote development, где IDE перестаёт быть единым локальным процессом: фронтенд работает у пользователя, а бэкенд — на удалённой машине, в Docker или в облаке. Этот режим JetBrains называет «split mode». Для разработчиков плагинов это означает, что одного «работает локально» теперь недостаточно: нужно явно решать, где должен исполняться каждый кусок плагина. Часть расширений по-прежнему работает «как есть», но всё, что связано с UI, ввода с клавиатуры и чувствительно к задержкам, при сетевом разделении начинает тормозить или вести себя некорректно, если проектировать плагин без учёта клиент-серверной архитектуры.
Рекомендованный подход — мыслить в категориях «frontend / backend / shared» и располагать каждую часть плагина на той стороне, к которой она относится. Та же архитектура работает и в монолитной IDE, поэтому второй раз код писать не приходится. JetBrains подготовил серию материалов: видеообзор; шаблон плагина с правильной структурой модулей и демо-фичей; статьи документации, описывающие терминологию, архитектуру, запуск, отладку и тестирование в split mode, а также пошаговый гайд по «расщеплению» существующего плагина; ссылку на JetBrains Platform forum для вопросов и поиска ответов.
Иллюстрация структуры модулей, которую предлагает шаблон (в plugin.xml или Gradle):
// Условный пример разделения по модулям:
// my-plugin-shared — общие модели данных, протоколы, sealed-классы команд
// my-plugin-backend — индексация, доступ к VFS, тяжёлые вычисления
// my-plugin-frontend — UI, AnAction, обработка ввода, привязка к Swing/JCEF
Значимость
Заметка — стратегический сигнал для авторов плагинов: IntelliJ Platform движется к клиент-серверной модели по умолчанию (включая Gateway, JetBrains Toolbox и облачные dev-инстансы), и плагины, чувствительные к latency и не разделённые корректно, в этих сценариях ломаются. JetBrains фактически легитимизирует архитектурный шов «frontend/backend/shared» как новый стандарт и снабжает его инструментарием, чтобы переходить на него предсказуемо, а не через горячие фиксы.
🧾 Транскрипт (формат)
Make Your Plugin Remote Development-Ready Source: https://blog.jetbrains.com/platform/2026/05/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..