Горячие клавиши
Сочетания клавиш берутся из одного реестра-const — KeybindingRegistry в lib/core/constants/keybindings.dart. В нём 49 привязок. Раздел Настройки → Вы → Сочетания клавиш отображает этот реестр как справочник только для чтения: интерфейса переназначения нет, как и пользовательского файла привязок.
Cmd ниже — основной модификатор команды: ⌘ в macOS, Ctrl в Windows и Linux. Привязка срабатывает, только когда у её команды есть зарегистрированный обработчик на текущем экране и выполняется её условие when; !textInputFocus означает, что клавиша вместо этого передаётся в поле ввода в фокусе.
Сочетания для навигации по цифровым клавишам нет. «Входящие», тикеты, pull request и всё остальное открываются с боковой панели или через ⌘K. У раздела Наблюдаемость сочетаний тоже нет.
Глобальные (19)
Заголовок раздела «Глобальные (19)»Область действия — global, поэтому они работают в любом месте оболочки.
Система
Заголовок раздела «Система»| Сочетание | Действие | Условие |
|---|---|---|
Cmd/Ctrl + K |
Палитра команд | — |
Shift + / (?) |
Шпаргалка по сочетаниям клавиш | Фокус не в текстовом поле |
Cmd/Ctrl + Z |
Отменить | Фокус не в текстовом поле (поле в фокусе хранит собственную историю отмены) |
Cmd/Ctrl + Shift + Z |
Повторить | Фокус не в текстовом поле |
Cmd/Ctrl + Shift + T |
Переключить тему | — |
Cmd/Ctrl + , |
Открыть настройки (открывается на /settings/you/appearance) |
— |
Cmd/Ctrl + Shift + Alt + F |
Переключить режим фокуса | — |
Cmd/Ctrl + Shift + W |
Показать или скрыть переключатель рабочих пространств | — |
Cmd/Ctrl + ] |
Следующее рабочее пространство | — |
Cmd/Ctrl + [ |
Предыдущее рабочее пространство | — |
Cmd/Ctrl + Alt + 1 … Cmd/Ctrl + Alt + 9 |
Переключиться на рабочее пространство 1–9 | — |
Список PR (3)
Заголовок раздела «Список PR (3)»Область действия — /pull-requests. Все требуют route == '/pull-requests' и отсутствия текстового поля в фокусе, поэтому они не срабатывают, пока поверх списка открыт маршрут деталей PR.
| Сочетание | Действие |
|---|---|
R |
Обновить |
Enter |
Открыть PR |
F |
Открыть меню фильтров |
Enter (pr.list-open) объявлено в реестре и показано в справочнике сочетаний клавиш, но экран списка не регистрирует для него обработчик, поэтому сейчас оно не срабатывает. F открывает меню фильтров (pr.list-open-filter), а не поиск.
Детали PR (2)
Заголовок раздела «Детали PR (2)»Область действия — /pull-requests/. Для обновления нужно, чтобы текстовое поле не было в фокусе. У закрытия вкладки нет защиты по вводу текста (сочетание с ⌘ никогда не бывает обычным текстом), зато есть регулярное выражение маршрута, поэтому в списке оно не срабатывает.
| Сочетание | Действие | Условие |
|---|---|---|
R |
Обновить | Фокус не в текстовом поле |
Cmd/Ctrl + W |
Закрыть вкладку | В расположении /pull-requests/<…> |
Переключение вкладок (1/2/3), отметка «просмотрено» и сворачивание (V/C), список файлов (T) и поиск по диффу (Cmd/Ctrl + F) обрабатывает собственный обработчик просмотрщика diff — см. Клавиши просмотрщика diff вне реестра.
Входящие (1)
Заголовок раздела «Входящие (1)»| Сочетание | Действие |
|---|---|
F |
Открыть меню фильтров |
Требует route == '/inbox' и отсутствия текстового поля в фокусе.
Профили пользователей и команд GitHub (3)
Заголовок раздела «Профили пользователей и команд GitHub (3)»Область действия — /users/. Условие when — регулярное выражение для /users/<login> или /teams/<organization>/<slug> плюс отсутствие текстового поля в фокусе.
| Сочетание | Действие |
|---|---|
R |
Обновить |
/ |
Перейти к поиску |
Cmd/Ctrl + F |
Перейти к поиску |
Пространства (9)
Заголовок раздела «Пространства (9)»Область действия — /spaces. Условия when построены на регулярном выражении, поэтому они срабатывают и в списке пространств (/spaces), и в выбранном пространстве (/spaces/<id>).
| Сочетание | Действие | Условие |
|---|---|---|
Enter |
Отправить сообщение | — |
Cmd/Ctrl + N |
Новое пространство | В маршруте /spaces |
J |
Следующее пространство | Фокус не в текстовом поле |
K |
Предыдущее пространство | Фокус не в текстовом поле |
Cmd/Ctrl + Shift + D |
Диктовка push-to-talk | — |
Cmd/Ctrl + T |
Открыть вкладку редактора | В маршруте /spaces |
Cmd/Ctrl + W |
Закрыть вкладку редактора | В маршруте /spaces |
Cmd/Ctrl + B |
Переключить боковую панель редактора | В маршруте /spaces |
Cmd/Ctrl + P |
Перейти к файлу | В маршруте /spaces |
«Перейти к файлу» открывает окно выбора по файлам разговора. Пока ничего не введено, в нём перечислены недавно открытые файлы; при вводе поиск идёт по всем файлам в worktree разговора. Enter открывает выбранный файл в новой вкладке, Cmd/Ctrl + Enter или кнопка разделения в строке — в панели справа, а × в строке недавнего файла удаляет его из списка.
Отправку по Enter обрабатывает текстовое поле композера, а push-to-talk — кнопка микрофона композера (у неё свой обработчик аппаратной клавиатуры). Оба указаны в реестре для справочника настроек.
Выбор рабочего пространства (2)
Заголовок раздела «Выбор рабочего пространства (2)»Область действия — /workspaces; работают только в самом экране выбора.
| Сочетание | Действие |
|---|---|
Cmd/Ctrl + N |
Новое рабочее пространство |
Enter |
Открыть выбранное рабочее пространство |
Для Enter нужно, чтобы текстовое поле не было в фокусе.
Настройки (5)
Заголовок раздела «Настройки (5)»| Сочетание | Действие | Экран |
|---|---|---|
J |
Следующая страница настроек | Любой маршрут /settings, фокус не в текстовом поле |
K |
Предыдущая страница настроек | Любой маршрут /settings, фокус не в текстовом поле |
Cmd/Ctrl + N |
Новый агент | Настройки → Рабочее пространство → Агенты |
Cmd/Ctrl + N |
Добавить репозиторий | Настройки → Рабочее пространство → Репозитории |
R |
Повторно найти адаптеры | Настройки → Сервер → Провайдеры моделей |
Лента новостей (5)
Заголовок раздела «Лента новостей (5)»Область действия — /newsfeed. Все требуют route == '/newsfeed' и отсутствия текстового поля в фокусе.
| Сочетание | Действие |
|---|---|
J |
Следующая статья |
K |
Предыдущая статья |
Enter |
Открыть статью |
S |
Переключить закладку |
R |
Обновить ленты |
Клавиши просмотрщика diff вне реестра
Заголовок раздела «Клавиши просмотрщика diff вне реестра»Просмотрщик diff в PR обрабатывает их сам (PrDiffKeyboardHandler). Поиск, просмотр и сворачивание перечислены в комментариях реестра только для справочника настроек — обработчик диспетчера для них не зарегистрирован, поэтому диспетчер оставляет их представлению diff. Отдельных строк в справочнике сочетаний клавиш у них нет.
| Сочетание | Действие |
|---|---|
Cmd/Ctrl + F |
Поиск по диффу |
J / K |
Следующий / предыдущий файл |
V |
Переключить отметку «просмотрено» у файла в фокусе |
C |
Переключить сворачивание файла в фокусе |
T |
Показать список файлов |
Enter |
Следующее совпадение поиска (только пока открыт поиск по диффу) |
Shift + Enter |
Предыдущее совпадение поиска |
Escape |
Закрыть поиск по диффу или снять выделение текста в диффе |
Cmd/Ctrl + C |
Скопировать выделенное в диффе |
Комбинации, зарезервированные браузером
Заголовок раздела «Комбинации, зарезервированные браузером»В веб-сборке браузер перехватывает часть ускорителей раньше, чем их успевает увидеть страница, поэтому соответствующие привязки там сработать не могут. В настольном приложении они работают как обычно. Зарезервированы в сочетании с основным модификатором команды: T, W, N и цифры 1–9.
Это касается переключения рабочих пространств по Cmd/Ctrl + Alt + 1–9, Cmd/Ctrl + N (новое пространство, новое рабочее пространство, новый агент, добавить репозиторий) и Cmd/Ctrl + T / Cmd/Ctrl + W в пространствах и деталях PR.