Глобальные горячие клавиши Ctrl+Shift+L/S/K/H — keyboard-first воркфлоу для Output Console
Опытный пользователь не хочет кликать. Опытный пользователь хочет Ctrl+Shift+что-то и видеть эффект. С v2.13.75 JustZix добавил 4 глобальные горячие клавиши для Output Console — все живут в слушателе фазы capture на document, поэтому работают, даже когда фокус в textarea приложения, когда у страницы есть vim-режим, или когда ты застрял на модальном попапе. Единственное условие: хотя бы один pane Output Console живёт на странице.
Четыре горячие клавиши — что они делают
| Горячая клавиша | Действие | Влияет на | С версии |
|---|---|---|---|
| Ctrl+Shift+L | Очистить лог | Все Output Console на странице | v2.13.75 |
| Ctrl+Shift+S | Переключить поле поиска | Все OC | v2.13.78 |
| Ctrl+Shift+K | Прокрутить viewMode [C+J] → [C] → [J] → [C+J] | Все OC | v2.13.78 |
| Ctrl+Shift+H | Показать / скрыть попап справки API | Singleton-оверлей | v2.13.78 |
Все горячие клавиши делают broadcast к каждой отрендеренной Output Console — если у тебя 3 OC-pane во вкладке (например, один отфильтрован по «fetch», второй по «GTM», третий сырой), Ctrl+Shift+L очищает все три.
Почему Ctrl+Shift, а не просто Ctrl?
Раньше (v2.13.69-74) у Output Console был Ctrl+L как очистка. Проблема: Ctrl+L в некоторых браузерах ставит фокус на адресную строку, если фокус вне textarea. Никакого чистого разрешения конфликта — слушатель контент-скрипта не всегда блокирует нативную горячую клавишу браузера.
Ctrl+Shift+L не конфликтует с нативными горячими клавишами. Бонус: та же схема, что у других (Ctrl+Shift+S/K/H) — легче запомнить («все начинаются с Ctrl+Shift»).
Слушатель фазы capture — почему он работает везде
Представь типичный поток keydown на странице:
document (capture) ↓
body (capture) ↓
div.container (capture) ↓
textarea#commentBox (target) ← пользователь печатает здесь
div.container (bubble) ↑
body (bubble) ↑
document (bubble) ↑
JustZix цепляет слушатель на document в фазе capture — первый в цепочке, до любого обработчика страницы. При совпадении (Ctrl+Shift+L/S/K/H) JustZix вызывает e.preventDefault() + e.stopPropagation(), и страница никогда не видит событие. Работает даже когда фокус в textarea — где Ctrl+L обычно делал бы «выделить весь текст».
Сценарий 1 — keyboard-first QA-воркфлоу
Ты циклически тестируешь 5 потоков в приложении. Каждый поток:
- Выполни действие (клик в приложении)
- Проверь Output Console — лог выглядит OK
- Очисти лог перед следующим потоком
Без горячих клавиш: шаг 3 = правый клик на заголовке Output Console → «Очистить лог». С горячей клавишей: Ctrl+Shift+L. В 5× быстрее, руки остаются на клавиатуре, фокус остаётся на тестируемом приложении.
Бонус: если поток логирует сотни строк, после его использования ты можешь захотеть только свои JZ.log: Ctrl+Shift+K дважды → режим [J] → видны только твои логи. Ещё один Ctrl+Shift+K → [C] (только страница). Третий → [C+J] (всё).
Сценарий 2 — открытие API через Ctrl+Shift+H
Новый пользователь JustZix. Он знает, что есть JUSTZIX.log(), но не помнит, что ещё. Вместо открытия документации:
Ctrl+Shift+H → оверлей с попапом:
- API JZ: список методов действий (JZ.click, JZ.value, JZ.setValue, JZ.action)
- Алиасы: window.JUSTZIX (основной), window.__JUSTZIX__ (всегда), window.JZ (когда свободен)
- Перехват консоли: какие события перехватываются (console.log/warn/error/info/debug + JZ.log)
- Горячие клавиши: Ctrl+Shift+L/S/K/H с описаниями
Esc / клик вне / снова Ctrl+Shift+H закрывают его. С v2.13.80 попап перетаскивается за заголовок — можешь сдвинуть его в сторону, чтобы увидеть что-то под ним, ограничен вьюпортом, так что не вылетает за экран.
Сценарий 3 — поиск без касания мыши
Output Console показывает 800 строк. Ты ищешь «purchase». Способ один: прокрутка и Ctrl+F (поиск браузера) — работает, но Ctrl+F находит и текст в других элементах страницы.
Способ два: Ctrl+Shift+S → поле поиска открывается над логом, фокус там, печатаешь «purchase» → живой фильтр показывает только совпадающие строки. Esc очищает поиск. Ещё один Ctrl+Shift+S закрывает поле поиска.
Бонус: поиск постоянный по вкладке в sessionStorage. F5 → поиск возвращается со старым фильтром.
Сценарий 4 — мульти-монитор для опытных пользователей
Монитор 1: тестируемое приложение. Монитор 2: та же вкладка в другом окне (Chrome «Переместить в другое окно» + перетаскивание). Первая вкладка активирует поток, вторая вкладка показывает Output Console на весь экран. Ctrl+Shift+L с фокусом на мониторе 2 → очищает обе вкладки? Нет — горячая клавиша действует по вкладке, поэтому только вкладку, на которой ты оставил фокус.
Для синхронизации между вкладками → используй JS-правило + JUSTZIX.log в обеих, с timestamp для фильтрации.
Ловушки
- Горячие клавиши требуют ≥1 отрендеренной Output Console. Без OC на странице слушатель даже не цепляется. Если правило JustZix не совпадает с текущим доменом → нет OC → нет горячих клавиш. Это намеренно — слушатель цепляется только когда нужен.
- Некоторые браузеры переопределяют Ctrl+Shift+буква для своих горячих клавиш (например, Ctrl+Shift+T = восстановить закрытую вкладку). JustZix делает preventDefault, но некоторые горячие клавиши браузера работают в нативном коде и бьют наш слушатель в capture. Если замечаешь конфликт — измени горячую клавишу в расширении (запланировано; пока захардкожено).
- Попап справки z-index 2147483646. На один меньше max int32 (2147483647). Ручки перетаскивания других panes имеют z-index 2147483645, так что попап всегда сверху. Некоторые страницы тоже используют max int — JustZix всё равно выигрывает на единицу у модальных окон страницы.
- Цикл viewMode не пропускает состояния, даже если [J] был бы пустым. v2.13.78 всегда проходит [C+J] → [C] → [J] → [C+J], даже если [J] был бы пустым. Намеренно — показывает, что режим активен, даже когда нет логов.
- Горячие клавиши НЕ останавливаются, когда фокус в JS Console / JS pane. Там пользователь печатает код — Ctrl+Shift+L может мешать. Слушатель всё равно делает preventDefault, поэтому горячая клавиша работает без удаления текста. Лучшая практика: если ты активно печатаешь в pane, используй мышь для Clear / переключения режима.
Что делать дальше
Глобальные горячие клавиши — это «слой для опытных пользователей» поверх Output Console — большинству пользователей достаточно кликать кнопки в заголовке pane. Но если QA-тулбар — твой ежедневный инструмент, эти 4 горячие клавиши сэкономят тебе десятки минут в неделю.
Смотри также связанные статьи:
- Output Console подробно — полный API панели
- window.JUSTZIX + JZ helpers — программный API, который горячие клавиши показывают в попапе справки
- Мини-IDE во вкладке — полная карта всех окон
Установи JustZix — полностью бесплатно, без аккаунта, без сервера.
Оцени эту статью
Оценок пока нет — оцени первым.