Эта страница переведена с английской документации. Команды, идентификаторы и примеры не изменены. Среда выполнения 7.24.4 · SDK 2.6.7. Английский оригинал
Отрисовка терминала
Статус: актуально Область: выбор профиля терминала TUI, переопределения и границы визуальных возможностей Последняя проверка: 2026-10-03 Владелец: сопровождающие TUI AX Code
AX Code выбирает профиль терминала из окружения при запуске. Профиль управляет настройкой терминала, а не разрешением монитора и резкостью шрифта.
| Окружение терминала | Автоматический профиль | Опознание |
|---|---|---|
| Windows Terminal, включая Ubuntu в WSL | Расширенный | Непустой WT_SESSION и нет конфликтующего TERM_PROGRAM |
| GNOME Terminal и другие хосты VTE | Расширенный | Положительный десятичный VTE_VERSION, TERM=xterm или xterm-256color и нет конфликтующего TERM_PROGRAM |
| Ghostty | Расширенный | TERM_PROGRAM=ghostty или TERM=xterm-ghostty |
| macOS Terminal.app | Совместимый | TERM_PROGRAM=Apple_Terminal |
| Неизвестные терминалы, SSH/mosh, tmux, screen и Zellij | Совместимый | Консервативный запасной вариант |
Явный TERM_PROGRAM важнее унаследованных маркеров внешнего
терминала. Ограниченные типы терминала, такие как dumb, linux и vt100, тоже остаются
совместимыми. Одной принадлежности к Ubuntu или WSL недостаточно, чтобы включить расширенный профиль.
Расширенный профиль использует альтернативный экран, нативный поток отрисовки и определение возможностей терминала. Совместимый профиль использует основной экран без нативного потока отрисовки. Оба включают взаимодействие с мышью (см. Захват мыши), согласование протокола клавиатуры и цель 60 кадров/с; фактическая частота зависит от нагрузки и терминала.
Windows Terminal сохраняет 24-битные визуальные эффекты в любом профиле, когда опознана его прямая сессия. Поддержка цвета не означает пиксельную графику или поддержку Nerd Font. Расширенный режим не меняет шрифт, размер шрифта и масштаб отображения.
Захват мыши
AX Code по умолчанию захватывает ввод мыши терминала, чтобы элементы управления внутри TUI оставались нажимаемыми: метки сочетаний в подвале (быстрая модель, автономный режим, песочница), варианты диалогов и автодополнения, щелчок для фокуса, выделение перетаскиванием и прокрутка колесом внутри TUI. Пока захват включён, терминал отдаёт мышь работающей программе, поэтому собственное меню правого щелчка терминала и родное выделение текста не показываются. Многие терминалы всё ещё открывают их с модификатором — обычно Shift и правый щелчок, иногда Option или Alt — в зависимости от терминала и от того, стоит ли между ними tmux, screen или Zellij.
Задайте mouse равным false в tui.json, чтобы вернуть мышь терминалу:
{
"mouse": false
}
AX_CODE_DISABLE_MOUSE=1 отключает захват независимо от tui.json. Он существует,
потому что файлы tui.json уровня проекта — недоверенный ввод: репозиторий не должен
иметь возможность подавлять собственное поведение мыши терминала против
желания пользователя. Переменная только отключает захват; включить его принудительно она не может.
Отказ — это обмен, а не чистый выигрыш:
- Возвращается: родное меню правого щелчка терминала, родное выделение текста и копирование и вставка. Собственный буфер прокрутки терминала обрабатывает колесо в совместимом профиле.
- Теряется: метки сочетаний в подвале, щелчок для фокуса, нажимаемые варианты диалога и автодополнения, выделение перетаскиванием и — в расширенном профиле (альтернативный экран, у которого нет буфера прокрутки терминала) — прокрутка колесом внутри TUI. Клавиатурное управление этими действиями остаётся.
Пока захват включён, правый щелчок открывает собственное контекстное меню TUI, а не меню терминала: небольшое меню Копировать / Вставить в позиции щелчка. Копирование доступно, когда на экране есть выделение, вставка — когда в фокусе текстовый ввод, включая запрос и поля внутри диалогов. Меню закрывается по Escape, по любому нажатию клавиши, по прокрутке или по щелчку вне его. Когда захват выключен, щелчок обрабатывает терминал.
Переопределение профиля
Задайте AX_CODE_TUI_ADVANCED_TERMINAL=1, чтобы запросить расширенный режим, или 0, чтобы запросить
совместимый режим. Явное переопределение важнее автоматического определения,
включая удалённые и мультиплексированные сессии. Уберите переменную, чтобы вернуть
автоматический выбор. Также принимаются true/false, yes/no и on/off.
PowerShell, для текущей оболочки и её дочерних процессов:
$env:AX_CODE_TUI_ADVANCED_TERMINAL = "1"
ax-code
# Use compatible mode if startup or rendering has problems.
$env:AX_CODE_TUI_ADVANCED_TERMINAL = "0"
ax-code
# Restore automatic selection.
Remove-Item Env:AX_CODE_TUI_ADVANCED_TERMINAL -ErrorAction SilentlyContinue
Bash или Zsh, для одного запуска:
AX_CODE_TUI_ADVANCED_TERMINAL=1 ax-code
AX_CODE_TUI_ADVANCED_TERMINAL=0 ax-code
Если файлы запуска оболочки экспортируют переменную, уберите этот экспорт и выполните
unset AX_CODE_TUI_ADVANCED_TERMINAL, чтобы вернуть автоматический выбор.
Пиксельные анимации
Анимации открытия и завершения используют пиксели, только когда отрисовщик подтверждает графику Kitty, действительные размеры в пикселях, локальный TTY, альтернативный экран и отсутствие мультиплексора. При недостающих возможностях или сбое графики используется текстовый запасной вариант. Автоматический расширенный режим эти проверки не обходит.
Все кадры пиксельной анимации — Digital Code, Foliage и сцены ориентиров — ограничены 1920×1080. Эти кадры обновляются по расписанию 20 кадров/с, отдельно от цели отрисовщика 60 кадров/с. Предпросмотр см. в Анимациях открытия и завершения TUI.
Сессии Windows Terminal с подтверждённой поддержкой Sixel (и без графики Kitty)
показывают один статичный кадр заставки Sixel, ограниченный 640×360 и 256 КиБ,
вместо текстового запасного варианта. AX_CODE_SIXEL_SPLASH=0 отключает его; =1 позволяет
любому терминалу Sixel показать его (путь теста). При разборе область заставки перекрашивается
фоном наложения, потому что у Sixel нет удаления по идентификатору изображения.
Шрифт Windows Terminal
AX Code не может сменить шрифт терминала. Значки типов файлов (глифы частного использования Nerd Font)
рисуются в Windows Terminal только с установленным пропатченным шрифтом.
Рекомендуемый шрифт — Cascadia Code NF: установите его, затем задайте
его шрифтом профиля в Параметры > Профили > Оформление > Шрифт. Однократная
подсказка в приложении указывает пользователям Windows Terminal на эту настройку; она не
показывается, если значки уже рисуются или если AX_CODE_NERD_FONT=0 отказывается.