В JetBrains IDE терминал на libghostty — Shift+Enter как в Ghostty

С версии 2026.3 встроенный терминал JetBrains IDE перешёл на libghostty — ту же библиотеку эмуляции, что стоит за Ghostty, вместо JediTerm. Парсинг и состояние терминала ведёт библиотека, рендер и интеграции по-прежнему в IDE. В EAP 2026.3 движок уже включён по умолчанию и так же дойдёт до стабильного релиза.
JetBrains прямо называют сценарии, где старый эмулятор не дотягивал: AI-кодинг в панели (Claude Code, Codex, Pi), полноэкранные Neovim и tmux, мониторы и дашборды. Разрыв с отдельными терминалами замечали, но редко оформляли багрепортом — теперь ставка на те же современные протоколы, что у сильных standalone-клиентов.
Enter и Shift+Enter
Поддержан протокол клавиатуры Kitty: Enter, Shift+Enter и Ctrl+Enter различаются, доходят отпускание и повтор клавиш. Его используют Claude Code, Codex, Pi, fish и Neovim; для Vim остаётся и modifyOtherKeys от xterm. Shift+Enter снова переносит строку в промпте, а не шлёт половину сообщения; сочетания с Ctrl, Shift и Alt доходят до приложения. Старую подмену Shift+Enter на Esc+CR IDE больше не применяет — настройку можно не трогать.
Тема редактора
Терминал отвечает на запрос тёмной или светлой темы (CSI ? 996 n) из текущей темы IDE и шлёт уведомление при переключении (режим 2031). Claude Code, OpenCode, Pi, Neovim и tmux подписываются на эти события и чаще всего меняют оформление вместе с редактором. Добавлены ответы на запросы палитры OSC 4 и цветов Kitty OSC 21; слоты 16–255 программа может задать через OSC 4, а цвета 0–15 по-прежнему задаёт тема IDE.
Богатый вывод в TUI
Новый движок понимает почти 50 управляющих последовательностей, которые JediTerm пропускал или читал с ошибками. Среди типичных сбоев:
- REP (CSI Ps b) — длинные повторы символов в ncurses больше не рвут строку;
- цвета SGR с двоеточиями (38:2::r:g:b) — без лишних символов в тексте;
- неизвестные APC, SOS и PM — не попадают в вывод как мусор.
Также появились DECSLRM, защищённые области, управление таб-стопами, insert mode, XTSAVE/XTRESTORE, прокрутка Kitty CSI 22 J и отчёт мыши X10; режим мигания курсора (?12) наконец учитывается. В libghostty уже разбираются OSC 52, уведомления OSC 9/777, графика Kitty и цветные подчёркивания — на стороне IDE эти возможности ещё впереди, но узким местом парсинг больше не выглядит.
Если что-то ломается, в Registry отключите terminal.use.ghostty.emulator и вернитесь к JediTerm; JetBrains просят описать кейс в IJPL-218849 или в баг-трекере. За libghostty стоят Mitchell Hashimoto, Tim Culverhouse и команда Ghostty.
Источник: The Terminal in JetBrains IDEs Now Runs on libghostty.