Pular para o conteúdo

Atalhos de teclado

Os atalhos vêm de um único registro const, o KeybindingRegistry em lib/core/constants/keybindings.dart. Ele contém 49 associações de teclas. A tela Configurações → Você → Atalhos de teclado renderiza esse registro como uma referência somente leitura: não existe interface de reatribuição nem arquivo de atalhos de teclado do usuário.

O Cmd abaixo é o modificador de comando principal — ⌘ no macOS, Ctrl no Windows e no Linux. Uma associação só é disparada quando seu comando tem um manipulador registrado na tela atual e sua cláusula when é satisfeita; !textInputFocus significa que a tecla é repassada para um campo de texto em foco.

Não existe atalho de navegação por teclas numéricas. A caixa de entrada, os tickets, as pull requests e o restante são alcançados pela barra lateral ou por ⌘K. A observabilidade também não tem atalho.

Escopo global, então elas ficam ativas em qualquer lugar do shell.

Atalho Ação Condição
Cmd/Ctrl + K Paleta de comandos —
Shift + / (?) Folha de referência de atalhos de teclado Não estar digitando em um campo
Cmd/Ctrl + Z Desfazer Não estar digitando em um campo (um campo em foco mantém o próprio desfazer)
Cmd/Ctrl + Shift + Z Refazer Não estar digitando em um campo
Cmd/Ctrl + Shift + T Alternar tema —
Cmd/Ctrl + , Abrir configurações (abre em /settings/you/appearance) —
Cmd/Ctrl + Shift + Alt + F Alternar modo foco —
Cmd/Ctrl + Shift + W Alternar seletor de espaço —
Cmd/Ctrl + ] Espaço de trabalho seguinte —
Cmd/Ctrl + [ Espaço de trabalho anterior —
Cmd/Ctrl + Alt + 1 … Cmd/Ctrl + Alt + 9 Mudar para o espaço de trabalho 1–9 —

Escopo /pull-requests. Todos exigem route == '/pull-requests' e que nenhum campo de texto esteja em foco, então não são disparados enquanto a rota de detalhe da PR está aberta sobre a lista.

Atalho Ação
R Atualizar
Enter Abrir PR
F Abrir o menu de filtros

O Enter (pr.list-open) está declarado no registro e aparece na referência de atalhos de teclado, mas a tela da lista não registra um manipulador para ele, então no momento ele não é disparado. O F abre o menu de filtros (pr.list-open-filter), não a busca.

Escopo /pull-requests/. O atalho de atualizar exige que nenhum campo de texto esteja em foco. O fechar aba não tem proteção de entrada de texto (uma combinação modificada por ⌘ nunca é texto simples) e tem uma regex de rota para não ser disparado na lista.

Atalho Ação Condição
R Atualizar Não estar digitando em um campo
Cmd/Ctrl + W Fechar aba Em um local /pull-requests/<…>

A troca de abas (1/2/3), o visto/recolher de arquivo (V/C), a lista de arquivos (T) e a busca no diff (Cmd/Ctrl + F) pertencem ao manipulador próprio do visualizador de diff — consulte Teclas do visualizador de diff fora do registro.

Atalho Ação
F Abrir o menu de filtros

Exige route == '/inbox' e que nenhum campo de texto esteja em foco.

Escopo /users/. A cláusula when é uma regex contra /users/<login> ou /teams/<organization>/<slug>, além de exigir que nenhum campo de texto esteja em foco.

Atalho Ação
R Atualizar
/ Focar na busca
Cmd/Ctrl + F Focar na busca

Escopo /spaces. As cláusulas when usam uma regex, então são disparadas tanto na lista de espaços (/spaces) quanto em um espaço selecionado (/spaces/<id>).

Atalho Ação Condição
Enter Enviar mensagem —
Cmd/Ctrl + N Novo espaço Em uma rota /spaces
J Espaço seguinte Não estar digitando em um campo
K Espaço anterior Não estar digitando em um campo
Cmd/Ctrl + Shift + D Ditado de premir para falar —
Cmd/Ctrl + T Abrir aba do editor Em uma rota /spaces
Cmd/Ctrl + W Fechar aba do editor Em uma rota /spaces
Cmd/Ctrl + B Mostrar/ocultar a barra lateral do editor Em uma rota /spaces
Cmd/Ctrl + P Ir para o arquivo Em uma rota /spaces

“Ir para o arquivo” abre um seletor com os arquivos da conversa. Sem nada digitado, ele lista os arquivos que você abriu mais recentemente; ao digitar, busca em todos os arquivos dos worktrees da conversa. Enter abre o arquivo selecionado em uma nova aba, Cmd/Ctrl + Enter ou o botão de dividir na linha o abre em um painel à direita, e o × em uma linha recente o remove da lista.

O Enter para enviar pertence ao campo de texto do compositor; o ditado de premir para falar pertence ao botão de microfone do compositor (com seu próprio manipulador de teclado de hardware). Ambos estão listados no registro para a referência de atalhos de teclado.

Escopo /workspaces, ativos apenas no próprio seletor.

Atalho Ação
Cmd/Ctrl + N Novo espaço de trabalho
Enter Abrir o espaço de trabalho selecionado

O Enter exige que nenhum campo de texto esteja em foco.

Atalho Ação Tela
J Próxima página de configurações Qualquer rota /settings, sem digitar
K Página de configurações anterior Qualquer rota /settings, sem digitar
Cmd/Ctrl + N Novo agente Configurações → Espaço de trabalho → Agentes
Cmd/Ctrl + N Adicionar repositório Configurações → Espaço de trabalho → Repositórios
R Reprocurar adaptadores Configurações → Servidor → Provedores de modelos

Escopo /newsfeed. Todos exigem route == '/newsfeed' e que nenhum campo de texto esteja em foco.

Atalho Ação
J Artigo seguinte
K Artigo anterior
Enter Abrir artigo
S Alternar marcador
R Atualizar feeds

O visualizador de diff de PR trata essas teclas sozinho (PrDiffKeyboardHandler). Busca/visto/recolher estão listados nos comentários do registro apenas para a referência de atalhos de teclado — nenhum manipulador do dispatcher é registrado, então o dispatcher as deixa para a visualização de diff. Elas não aparecem como linhas próprias na referência de atalhos de teclado.

Atalho Ação
Cmd/Ctrl + F Buscar no diff
J / K Arquivo seguinte / anterior
V Alternar o visto no arquivo em foco
C Alternar o recolhimento no arquivo em foco
T Mostrar lista de arquivos
Enter Próxima ocorrência da busca (somente enquanto a busca no diff estiver aberta)
Shift + Enter Ocorrência anterior da busca
Escape Fechar a busca no diff ou limpar a seleção de texto do diff
Cmd/Ctrl + C Copiar a seleção do diff

Na build web, o navegador consome alguns aceleradores antes que a página os veja, então as associações correspondentes nunca podem ser disparadas ali. Elas funcionam normalmente no desktop. São reservadas quando combinadas com o modificador de comando principal: T, W, N e os dígitos 1–9.

Isso abrange a troca de espaço de trabalho com Cmd/Ctrl + Alt + 1–9, Cmd/Ctrl + N (novo espaço, novo espaço de trabalho, novo agente, adicionar repositório) e Cmd/Ctrl + T / Cmd/Ctrl + W nos espaços e no detalhe da PR.