Painéis no Terminal do Windows

Os painéis oferecem a capacidade de executar vários aplicativos de linha de comando próximos uns dos outros na mesma guia. Isso minimiza a necessidade de alternar entre guias e permite que você veja vários prompts de uma só vez.

Como criar um painel

Como usar o teclado

Você pode criar um painel vertical ou horizontal no Terminal do Windows. Dividir verticalmente abrirá um novo painel à direita do painel focalizado. Dividir horizontalmente abrirá um novo painel abaixo do painel focalizado. O uso das divisões direcionais up, right, down ou left fornece mais opções de locais a que o novo painel pode ir. right e down são equivalentes a vertical e horizontal, enquanto up e left permitem que você coloque o novo painel acima e à esquerda do painel focalizado, respectivamente. Para criar um novo painel vertical do seu perfil padrão, pressione a combinação de teclas Alt+Shift++. Para um painel horizontal do seu perfil padrão, você pode usar Alt+Shift+-.

Windows Terminal create paneConfiguração: Raspberry Ubuntu

Se você quiser alterar essas associações de teclas, poderá criar outras usando a ação splitPane e os valores vertical, horizontal, up, right, down, left ou auto para a propriedade split em seu arquivo profiles.json. O método auto escolherá a direção que fornece os painéis mais quadrados. Para saber mais sobre as associações de teclas, visite a página de Associações.

{ "command": { "action": "splitPane", "split": "vertical" }, "keys": "alt+shift+plus" },
{ "command": { "action": "splitPane", "split": "horizontal" }, "keys": "alt+shift+-" },
{ "command": { "action": "splitPane", "split": "auto" }, "keys": "alt+shift+d" },
{ "command": { "action": "splitPane", "split": "up" } },
{ "command": { "action": "splitPane", "split": "right" } },
{ "command": { "action": "splitPane", "split": "down" } },
{ "command": { "action": "splitPane", "split": "left" } },

Usando o botão nova guia e o menu suspenso

Se você quiser abrir um novo painel do seu perfil padrão, poderá segurar a tecla Alt e clicar no botão nova guia. Se você quiser abrir um novo painel por meio do menu suspenso, poderá segurar Alt e clicar no perfil desejado. Essas duas opções vão auto dividir o painel ou a janela ativa em um novo painel do perfil selecionado. O modo de divisão auto divide na direção que tem a borda mais longa para criar um painel.

Windows Terminal dropdown pane

Usando o menu de contexto da guia

Se quiser abrir um novo painel de um perfil que já está aberto no terminal, clique com o botão direito do mouse na guia e clique em Dividir Guia. Isso duplicará o painel focalizado na guia atual.

Windows Terminal split tab

Como alternar entre painéis

O terminal permite que você navegue entre os painéis usando o teclado. Se você mantiver a tecla Alt pressionada, poderá usar as teclas de direção para mover o foco entre os painéis. Você pode identificar qual painel está em foco pela borda de cor de destaque ao redor dela. Observe que essa cor de destaque é definida nas configurações de cores do Windows.

Windows Terminal switch panes

Você pode personalizar isso adicionando associações de teclas para o comando moveFocus e definindo direction como down, left, right ou up. Além disso, direction pode ser previous para o último painel usado, ou previousInOrder ou nextInOrder para navegação por ordem de árvore, ou first para o primeiro painel. Por fim, você pode navegar pela árvore usando a direção parent para selecionar vários painéis e, depois, child para selecionar menos painéis e retroceder na árvore. Quando vários painéis são selecionados, você pode executar ações como se tivesse somente um painel focado.

{ "command": { "action": "moveFocus", "direction": "down" }, "keys": "alt+down" },
{ "command": { "action": "moveFocus", "direction": "left" }, "keys": "alt+left" },
{ "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" },
{ "command": { "action": "moveFocus", "direction": "up" }, "keys": "alt+up" },
{ "command": { "action": "moveFocus", "direction": "previous" } },
{ "command": { "action": "moveFocus", "direction": "previousInOrder" } },
{ "command": { "action": "moveFocus", "direction": "nextInOrder" } },
{ "command": { "action": "moveFocus", "direction": "first" } },
{ "command": { "action": "moveFocus", "direction": "parent" } },
{ "command": { "action": "moveFocus", "direction": "child" } }

Trocando painéis

Após dois painéis terem sido criados, você poderá trocar as posições deles no terminal.

O comando swapPane pode ser personalizado usando os mesmos directions de navegação que moveFocus, exceto por parent e child. Esses comandos trocam as posições do painel focalizado e do vizinho dele de acordo com direction.

{ "command": { "action": "swapPane", "direction": "down" } },
{ "command": { "action": "swapPane", "direction": "left" } },
{ "command": { "action": "swapPane", "direction": "right" } },
{ "command": { "action": "swapPane", "direction": "up" } },
{ "command": { "action": "swapPane", "direction": "previous" } },
{ "command": { "action": "swapPane", "direction": "previousInOrder" } },
{ "command": { "action": "swapPane", "direction": "nextInOrder" } },
{ "command": { "action": "swapPane", "direction": "first" } }

Movendo painéis

Os painéis também podem ser movidos entre as guias, criando uma guia se uma não existir uma com o índice de destino.

As associações de teclas do comando movePane podem ser personalizadas para mover painéis para as guias (com índice zero) de acordo com sua ordem.

{ "command": { "action": "movePane", "index": 0 } },
{ "command": { "action": "movePane", "index": 1 } },
{ "command": { "action": "movePane", "index": 2 } },
{ "command": { "action": "movePane", "index": 3 } },
{ "command": { "action": "movePane", "index": 4 } },
{ "command": { "action": "movePane", "index": 5 } },
{ "command": { "action": "movePane", "index": 6 } },
{ "command": { "action": "movePane", "index": 7 } },
{ "command": { "action": "movePane", "index": 8 } }

Alterando a orientação de divisão

Depois que dois painéis em uma guia tiverem sido criados, a orientação de divisão desses painéis poderá ser alternada entre vertical e horizontal com o comando toggleSplitOrientation.

{ "command": "toggleSplitOrientation" }

Trocando painéis (Versão prévia)

Após dois painéis terem sido criados, você poderá trocar as posições deles no terminal.

O comando swapPane pode ser personalizado usando os mesmos directions de navegação que moveFocus. Esses comandos trocam as posições do painel focalizado e do vizinho dele de acordo com direction.

{ "command": { "action": "swapPane", "direction": "down" } },
{ "command": { "action": "swapPane", "direction": "left" } },
{ "command": { "action": "swapPane", "direction": "right" } },
{ "command": { "action": "swapPane", "direction": "up" } },
{ "command": { "action": "swapPane", "direction": "previous" } },
{ "command": { "action": "swapPane", "direction": "previousInOrder" } },
{ "command": { "action": "swapPane", "direction": "nextInOrder" } }

Movendo painéis (Versão prévia)

Os painéis também podem ser movidos entre as guias, criando uma guia se uma não existir uma com o índice de destino.

As associações de teclas do comando movePane podem ser personalizadas para mover painéis para as guias (com índice zero) de acordo com sua ordem.

{ "command": { "action": "movePane", "index": 0 } },
{ "command": { "action": "movePane", "index": 1 } },
{ "command": { "action": "movePane", "index": 2 } },
{ "command": { "action": "movePane", "index": 3 } },
{ "command": { "action": "movePane", "index": 4 } },
{ "command": { "action": "movePane", "index": 5 } },
{ "command": { "action": "movePane", "index": 6 } },
{ "command": { "action": "movePane", "index": 7 } },
{ "command": { "action": "movePane", "index": 8 } }

Alterando a orientação de divisão (Versão prévia)

Depois que dois painéis em uma guia tiverem sido criados, a orientação de divisão desses painéis poderá ser alternada entre vertical e horizontal com o comando toggleSplitOrientation.

{ "command": "toggleSplitOrientation" }

Como redimensionar um painel

Você pode ajustar o tamanho dos painéis segurando Alt+Shift e usando as teclas de direção para redimensionar o painel focalizado.

Windows Terminal resize pane

Para personalizar essa associação de teclas, você pode adicionar novas associações usando a ação resizePane e definindo direction para down, left, right ou up.

{ "command": { "action": "resizePane", "direction": "down" }, "keys": "alt+shift+down" },
{ "command": { "action": "resizePane", "direction": "left" }, "keys": "alt+shift+left" },
{ "command": { "action": "resizePane", "direction": "right" }, "keys": "alt+shift+right" },
{ "command": { "action": "resizePane", "direction": "up" }, "keys": "alt+shift+up" }

Como fechar um painel

Você pode fechar o painel focalizado digitando Ctrl+Shift+W. Se você tiver apenas um painel, Ctrl+Shift+W fechará a guia. Como sempre, fechar a última guia resultará no fechamento da janela.

Windows Terminal close panes

Você pode alterar quais teclas fecham o painel adicionando uma associação de teclas que usa o comando closePane.

{ "command": "closePane", "keys": "ctrl+shift+w" }

Aplicando zoom em um painel

Você pode aplicar zoom no painel focalizado para preencher todo o conteúdo da janela.

Windows Terminal toggle pane zoom

Observação

O menu no GIF acima é a paleta de comandos, que pode ser aberta com Ctrl+Shift+P por padrão.

Isso pode ser feito usando o comando togglePaneZoom.

{ "command": "togglePaneZoom" }

Observação

A ação togglePaneZoom não está associada a nenhuma tecla por padrão, mas pode ser acessada por meio da paleta de comandos, que está associada a Ctrl+Shift+P por padrão.

Marcando um painel como somente leitura

Você pode marcar um painel como somente leitura, o que impedirá que a entrada chegue ao buffer de texto. Se você tentar fechar ou inserir texto em um painel somente leitura, o terminal exibirá um pop-up de aviso.

Você pode alternar o modo somente leitura em um painel com o comando toggleReadOnlyMode.

{ "command": "toggleReadOnlyMode" }

É possível habilitar o modo somente leitura em um painel. Ele funciona da mesma forma que a alternância, mas não alterna o estado quando é disparado novamente.

Nome do comando:enableReadOnlyMode

Associações padrão:

{ "command": "enableReadOnlyMode" }

É possível desabilitar o modo somente leitura em um painel. Ele funciona da mesma forma que a alternância, mas não alterna o estado quando é disparado novamente.

Nome do comando:disableReadOnlyMode

Associações padrão:

{ "command": "disableReadOnlyMode" }

Como personalizar painéis usando associações de teclas

Você pode personalizar o que é aberto dentro de um novo painel, dependendo de suas associações de teclas personalizadas.

Como duplicar um painel

O terminal permite que você duplique o perfil do painel focalizado, criando outro painel.

Windows Terminal duplicate panes

Isso pode ser feito adicionando a propriedade splitMode com duplicate como o valor para uma associação de teclas splitPane.

{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }

Novos argumentos de terminal

Ao abrir um novo painel ou guia com uma associação de teclas, você pode especificar qual perfil é usado incluindo o nome, o GUID ou o índice do perfil. Se nenhum deles for especificado, o perfil padrão será usado. Isso pode ser feito adicionando profile ou index como um argumento a uma associação de teclas splitPane ou newTab. Observe que a indexação começa em 0.

{ "command": { "action": "splitPane", "split": "vertical", "profile": "profile1" }, "keys": "ctrl+a" },
{ "command": { "action": "splitPane", "split": "vertical", "profile": "{00000000-0000-0000-0000-000000000000}" }, "keys": "ctrl+b" },
{ "command": { "action": "newTab", "index": 0 }, "keys": "ctrl+c" }

Além disso, você pode substituir determinados aspectos do perfil, como o executável de linha de comando do perfil, o diretório inicial ou o título da guia. Isso pode ser feito adicionando commandline, startingDirectory e/ou tabTitle a uma associação de teclas splitPane ou newTab.

{ "command": { "action": "splitPane", "split": "auto", "profile": "profile1", "commandline": "foo.exe" }, "keys": "ctrl+a" },
{ "command": { "action": "newTab", "profile": "{00000000-0000-0000-0000-000000000000}", "startingDirectory": "C:\\foo" }, "keys": "ctrl+b" },
{ "command": { "action": "newTab", "index": 0, "tabTitle": "bar", "startingDirectory": "C:\\foo", "commandline": "foo.exe" }, "keys": "ctrl+c" }