Ações personalizadas no Terminal do Windows

Importante

A partir da versão 1.4 do Terminal do Windows, a matriz keybindings foi renomeada para actions dentro do arquivo settings.json. O suporte para a matriz keybindings continua existindo para compatibilidade com versões anteriores; no entanto, o terminal não renomeará keybindings automaticamente como actions dentro do arquivo settings.json.

Você pode criar ações personalizadas dentro do Terminal do Windows que dão a você controle sobre como interagir com o terminal. Essas ações serão adicionadas automaticamente à paleta de comandos.

Formatos de ação

As ações podem ser estruturadas nos seguintes formatos:

Comandos sem argumentos

{ "command": "commandName", "keys": "modifiers+key" }

Por exemplo, essa configuração padrão usa as teclas de atalho Alt + F4 para fechar a janela do terminal:

{ "command": "closeWindow", "keys": "alt+f4" }

Comandos com argumentos

{ "command": { "action": "commandName", "argument": "value" }, "keys": "modifiers+key" }

Por exemplo, essa configuração padrão usará a tecla de atalho Ctrl + Shift + 1 para abrir uma nova guia no terminal com base no perfil que estiver listado primeiro no menu suspenso (normalmente, isso abrirá o perfil do PowerShell):

{ "command": { "action": "newTab", "index": 0 }, "keys": "ctrl+shift+1" }


Propriedades da ação

As ações podem ser construídas usando as propriedades a seguir.

Comando

Esse é o comando executado quando as teclas associadas são pressionadas.

Nome da propriedade:command

Necessidade: Necessária

Aceita: Cadeia de caracteres

Teclas

Define as combinações de teclas usadas para chamar o comando. As teclas podem ter qualquer número de modificadores com uma tecla. Os modificadores e as teclas aceitas são listados abaixo.

Se a ação não tiver teclas, ela aparecerá na paleta de comandos, mas não poderá ser invocada com o teclado.

Nome da propriedade:keys

Necessidade: Opcional

Aceita: Cadeia de caracteres ou matriz[cadeia de caracteres]

Ação

Adiciona funcionalidade adicional a determinados comandos.

Nome da propriedade:action

Necessidade: Opcional

Aceita: Cadeia de caracteres

Nome

Isso define o nome que aparecerá na paleta de comandos. Se nenhum for fornecido, o terminal tentará gerar um nome automaticamente.

Nome da propriedade:name

Necessidade: opcional

Aceita: Cadeia de caracteres

Ícone

Isso define o ícone que é exibido na paleta de comandos.

Nome da propriedade:icon

Necessidade: Opcional

Aceita: localização do arquivo como uma cadeia de caracteres ou um emoji



Modificadores e teclas aceitos

Modificadores

ctrl+, shift+, alt+, win+

Observação

Embora a tecla Windows tenha suporte como um modificador, o sistema reserva a maioria das associações de teclas win+<key>. Se o sistema operacional tiver reservado essa associação de teclas, o terminal nunca receberá essa associação.

Teclas modificadoras

Tipo Teclas
Teclas alfanuméricas e de função f1-f24, a-z, 0-9
Símbolos `, plus, -, =, [, ], \, ;, ', ,, ., /
Teclas de direção down, left, right, up, pagedown, pageup, pgdn, pgup, end, home
Teclas de ação tab, enter, esc, escape, space, backspace, delete, insert, app, menu
Teclas do teclado numérico numpad_0-numpad_9, numpad0-numpad9, numpad_add, numpad_plus, numpad_decimal, numpad_period, numpad_divide, numpad_minus, numpad_subtract, numpad_multiply
Teclas do navegador browser_back, browser_forward, browser_refresh, browser_stop, browser_search, browser_favorites, browser_home

Observação:= e plus são equivalentes. A última não deve ser confundida com numpad_plus.


Comandos no nível do aplicativo

Encerrar

Isso fecha todas as janelas do terminal abertas. Uma caixa de diálogo de confirmação será exibida na janela atual para garantir que você deseja fechar todas as janelas.

Nome do comando:quit

Associação padrão:

{ "command": "quit" }

Fechar janela

Fecha a janela atual e todas as guias dentro dela. Se confirmCloseAllTabs for definido como true, uma caixa de diálogo de confirmação será exibida para garantir que você queira fechar todas as suas guias. Mais informações sobre essa configuração podem ser encontradas na página Aparência.

Nome do comando:closeWindow

Associação padrão:

{ "command": "closeWindow", "keys": "alt+f4" }

Confirmação do Terminal do Windows para fechar todas as guias

Localizar

Abre a caixa de diálogo de pesquisa. Mais informações sobre a pesquisa podem ser encontradas na página de Pesquisa.

Nome do comando:find

Associação padrão:

{ "command": "find", "keys": "ctrl+shift+f" }

Encontrar a correspondência de pesquisa seguinte/posterior

Isso permite que você navegue pelas suas correspondências de pesquisa.

Nome do comando:findMatch

Associações padrão:

{ "command": { "action": "findMatch", "direction": "next" } },
{ "command": { "action": "findMatch", "direction": "prev" } }

Parâmetros

Nome Necessidade Aceita Descrição
direction Obrigatório "next", "prev" A direção para navegar pelos resultados da pesquisa.

Abrir o menu suspenso

Abre o menu suspenso.

Nome do comando:openNewTabDropdown

Associação padrão:

{ "command": "openNewTabDropdown", "keys": "ctrl+shift+space" }

Abrir arquivos de configurações

Isso abre a interface do usuário de configurações, o arquivo de configurações personalizadas (settings.json) ou o arquivo de configurações padrão (defaults.json), dependendo do campo target. Sem o campo target, o arquivo de configurações personalizadas será aberto.

Nome do comando:openSettings

Associações padrão:

{ "command": { "action": "openSettings", "target": "settingsUI" }, "keys": "ctrl+," },
{ "command": { "action": "openSettings", "target": "settingsFile" }, "keys": "ctrl+shift+," },
{ "command": { "action": "openSettings", "target": "defaultsFile" }, "keys": "ctrl+alt+," },

Parâmetros

Nome Necessidade Aceita Descrição
target Opcional "settingsFile", "defaultsFile", "settingsUI", "allFiles" O arquivo de configurações a ser aberto.

Abrir menu de sistema

Abre o menu de sistema no canto superior esquerdo da janela.

Nome do comando:openSystemMenu

Associação padrão:

{ "command": "openSystemMenu", "keys": "alt+space" }

Alternar tela inteira

Permite que você alterne entre os tamanhos de tela inteira e janela padrão.

Nome do comando:toggleFullscreen

Associações padrão:

{ "command": "toggleFullscreen", "keys": "alt+enter" },
{ "command": "toggleFullscreen", "keys": "f11" }

Ativar o modo de foco

Isso permite que você entre no "modo de foco", que oculta as guias e a barra de título.

Nome do comando:toggleFocusMode

Associação padrão:

{ "command": "toggleFocusMode" }

Ativar o modo sempre na parte superior

Isso permite que você ative o estado "sempre na parte superior" da janela. Quando estiver no modo "sempre na parte superior", a janela aparecerá sobre todas as outras janelas que não estão na parte mais alta.

Nome do comando:toggleAlwaysOnTop

Associação padrão:

{ "command": "toggleAlwaysOnTop" }

Enviar entrada

Enviar uma entrada de texto arbitrária para o shell. Por exemplo, a entrada "text\n" escreverá "texto" seguido por uma nova linha no shell.

As sequências de escape ANSI podem ser usadas, mas os códigos de escape como \x1b precisam ser escritos como \u001b. Por exemplo, "\u001b[A" se comportará como se o botão de seta para cima tivesse sido pressionado.

Nome do comando:sendInput

Associação padrão:

No momento, esse comando não está vinculado às configurações padrão.

{ "command": { "action": "sendInput", "input": "\u001b[A" }, "keys": "" }

Parâmetros

Nome Necessidade Aceita Descrição
input Obrigatório String A entrada de texto a ser alimentada no shell.


Comandos de gerenciamento de guias

Fechar guia

Isso fecha a guia em um determinado índice. Se nenhum índice for fornecido, use o índice da guia focalizada.

Nome do comando:closeTab

Parâmetros

Nome Necessidade Aceita Descrição
index Opcional Inteiro Posição da guia a ser fechada.

Fechar todas as outras guias

Isso fecha todas as guias, exceto a que está em um índice. Se nenhum índice for fornecido, use o índice da guia focalizada.

Nome do comando:closeOtherTabs

Associação padrão:

{ "command": "closeOtherTabs" }

Parâmetros

Nome Necessidade Aceita Descrição
index Opcional Inteiro Posição da guia a ser mantida aberta.

Fechar guias após o índice

Isso fecha as guias após a guia em um índice. Se nenhum índice for fornecido, use o índice da guia focalizada.

Nome do comando:closeTabsAfter

Associação padrão:

{ "command": "closeTabsAfter" }

Parâmetros

Nome Necessidade Aceita Descrição
index Opcional Inteiro Posição da última guia a ser mantida aberta.

Guia duplicada

Isso faz uma cópia do perfil e diretório da guia atual e a abre. Não inclui ENV VARIABLES modificadas/adicionadas.

Nome do comando:duplicateTab

Associação padrão:

{ "command": "duplicateTab", "keys": "ctrl+shift+d" }

Nova guia

Cria uma guia. Sem nenhum argumento, o perfil padrão será aberto em uma nova guia. Se um índice não for especificado, a configuração equivalente do perfil padrão será usada. Se o índice não for mapeado para um perfil, as chaves serão passadas diretamente para o terminal (ou ignoradas se nenhuma chave tiver sido usada para invocar a ação).

Nome do comando:newTab

Associações padrão:

{ "command": "newTab", "keys": "ctrl+shift+t" },
{ "command": { "action": "newTab", "index": 0 }, "keys": "ctrl+shift+1" },
{ "command": { "action": "newTab", "index": 1 }, "keys": "ctrl+shift+2" },
{ "command": { "action": "newTab", "index": 2 }, "keys": "ctrl+shift+3" },
{ "command": { "action": "newTab", "index": 3 }, "keys": "ctrl+shift+4" },
{ "command": { "action": "newTab", "index": 4 }, "keys": "ctrl+shift+5" },
{ "command": { "action": "newTab", "index": 5 }, "keys": "ctrl+shift+6" },
{ "command": { "action": "newTab", "index": 6 }, "keys": "ctrl+shift+7" },
{ "command": { "action": "newTab", "index": 7 }, "keys": "ctrl+shift+8" },
{ "command": { "action": "newTab", "index": 8 }, "keys": "ctrl+shift+9" }

Parâmetros

Nome Necessidade Aceita Descrição
commandline Opcional Nome de arquivo executável como uma cadeia de caracteres Executável executado dentro da guia.
startingDirectory Opcional Localização da pasta como uma cadeia de caracteres Diretório no qual a guia será aberta.
elevate Opcional true, false, null Substitui a propriedade elevate do perfil. Quando omitida, essa ação se comportará de acordo com a configuração elevate do perfil. Quando definida como true ou false, essa ação se comportará como se o perfil fosse definido com "elevate": true ou "elevate": false (respectivamente).
tabTitle Opcional Cadeia de caracteres O título da nova guia.
index Opcional Inteiro Perfil que será aberto com base na respectiva posição na lista suspensa (começando em 0).
profile Opcional Nome ou GUID do perfil como uma cadeia de caracteres Perfil que será aberto com base no respectivo GUID ou nome.
colorScheme Opcional O nome do esquema de cores como uma cadeia de caracteres O esquema a ser usado em vez do conjunto colorScheme do perfil
suppressApplicationTitle Opcional true, false Quando estiver definido como false, os aplicativos poderão alterar o título da guia enviando mensagens de alteração de título. Quando estiver definido como true, essas mensagens serão suprimidas. Se nenhum valor for fornecido, o comportamento será herdado das configurações do perfil. Para inserir um novo título de guia e fazer com que ele persista, isso precisa ser definido como true.

Abrir próxima guia

Abre a guia à direita da atual.

Nome do comando:nextTab

Associação padrão:

{ "command": "nextTab", "keys": "ctrl+tab" }

Parâmetros

Nome Necessidade Aceita Descrição
tabSwitcherMode Opcional "mru", "inOrder", "disabled" Mover para a próxima guia usando "tabSwitcherMode". Se nenhum modo for fornecido, use o globalmente definido.

Exibir guia anterior

Abre a guia à esquerda da atual.

Nome do comando:prevTab

Associação padrão:

{ "command": "prevTab", "keys": "ctrl+shift+tab" }

Parâmetros

Nome Necessidade Aceita Descrição
tabSwitcherMode Opcional "mru", "inOrder", "disabled" Mover para a guia anterior usando "tabSwitcherMode". Se nenhum modo for fornecido, use o globalmente definido.

Abre a caixa de pesquisa de guia.

Nome do comando:tabSearch

Associação padrão:

No momento, esse comando não está vinculado às configurações padrão.

{"command": "tabSearch", "keys": ""}

Pesquisa de guias do Terminal do Windows

Abrir uma guia específica

Abre uma guia específica, dependendo do índice.

Nome do comando:switchToTab

Associações padrão:

{ "command": { "action": "switchToTab", "index": 0 }, "keys": "ctrl+alt+1" },
{ "command": { "action": "switchToTab", "index": 1 }, "keys": "ctrl+alt+2" },
{ "command": { "action": "switchToTab", "index": 2 }, "keys": "ctrl+alt+3" },
{ "command": { "action": "switchToTab", "index": 3 }, "keys": "ctrl+alt+4" },
{ "command": { "action": "switchToTab", "index": 4 }, "keys": "ctrl+alt+5" },
{ "command": { "action": "switchToTab", "index": 5 }, "keys": "ctrl+alt+6" },
{ "command": { "action": "switchToTab", "index": 6 }, "keys": "ctrl+alt+7" },
{ "command": { "action": "switchToTab", "index": 7 }, "keys": "ctrl+alt+8" },
{ "command": { "action": "switchToTab", "index": 8 }, "keys": "ctrl+alt+9" }

Parâmetros

Nome Necessidade Aceita Descrição
index Obrigatório Inteiro Guia que será aberta com base na respectiva posição na barra de guias (começando em 0).

Renomear guia

Esse comando pode ser usado para renomear uma guia para uma cadeia de caracteres específica.

Nome do comando:renameTab

Associação padrão:

No momento, esse comando não está vinculado às configurações padrão.

// Rename a tab to "Foo"
{ "command": { "action": "renameTab", "title": "Foo" }, "keys": "" }

// Reset the tab's name
{ "command": { "action": "renameTab", "title": null }, "keys": "" }

Parâmetros

Nome Necessidade Aceita Descrição
title Opcional Cadeia de caracteres O novo título a ser usado para essa guia. Se for omitido, esse comando reverterá o título da guia de volta para o valor original.

Abrir a caixa de texto para renomear a guia

Esse comando altera o título da guia em um campo de texto que permite editar o título da guia atual. Limpar o campo de texto redefinirá o título da guia de volta para o padrão da instância do shell atual.

Nome do comando:openTabRenamer

Associação padrão:

{ "command": "openTabRenamer" }

Alterar cor da guia

Esse comando pode ser usado para alterar a cor de uma guia para um valor específico.

Nome do comando:setTabColor

Associação padrão:

No momento, esse comando não está vinculado às configurações padrão.

// Change the tab's color to a bright magenta
{ "command": { "action": "setTabColor", "color": "#ff00ff" }, "keys": "" }

// Reset the tab's color
{ "command": { "action": "setTabColor", "color": null }, "keys": "" }

Parâmetros

Nome Necessidade Aceita Descrição
color Opcional Cadeia de caracteres em formato hexadecimal: "#rgb" ou "#rrggbb" A nova cor a ser usada para essa guia. Se for omitido, esse comando reverterá a cor da guia de volta para o valor original.

Abrir seletor de cor de guia

Esse comando pode ser usado para abrir o seletor de cor para a guia ativa. O seletor de cor pode ser usado para definir uma cor para a guia em runtime.

Nome do comando:openTabColorPicker

Associação padrão:

{ "command": "openTabColorPicker" }

Mover guia

Esse comando move a guia "para frente" e "para trás", que é equivalente a "esquerda" e "direita" na interface do usuário da esquerda para a direita.

Nome do comando:moveTab

Associação padrão:

// Move tab backward (left in LTR)
{ "command": { "action": "moveTab", "direction": "backward" } }

// Move tab forward (right in LTR)
{ "command": { "action": "moveTab", "direction": "forward" } }

Parâmetros

Nome Necessidade Aceita Descrição
direction Obrigatório "backward", "forward" Direção na qual a guia será movida.


Comandos de gerenciamento de janela

Nova janela

Cria uma janela. Sem nenhum argumento, esse comando abre o perfil padrão em uma nova janela (independentemente da configuração de windowingBehavior). Se uma ação não for especificada, a configuração equivalente do perfil padrão será usada.

Nome do comando:newWindow

Associações padrão:

{ "command": "newWindow", "keys": "ctrl+shift+n" },

Parâmetros

Nome Necessidade Aceita Descrição
commandline Opcional Nome de arquivo executável como uma cadeia de caracteres Executável executado dentro da guia.
startingDirectory Opcional Localização da pasta como uma cadeia de caracteres Diretório no qual a janela será aberta.
tabTitle Opcional Cadeia de caracteres Título da guia da janela.
index Opcional Inteiro Perfil que será aberto com base na respectiva posição na lista suspensa (começando em 0).
profile Opcional Nome ou GUID do perfil como uma cadeia de caracteres Perfil que será aberto com base no respectivo GUID ou nome.
suppressApplicationTitle Opcional true, false Quando estiver definido como false, os aplicativos poderão alterar o título da guia enviando mensagens de alteração de título. Quando estiver definido como true, true apagará essas mensagens. Se nenhum valor for fornecido, o comportamento será herdado das configurações do perfil.

Renomear janela

Esse comando pode ser usado para renomear uma janela para uma cadeia de caracteres específica.

Nome do comando:renameWindow

Associação padrão:

No momento, esse comando não está vinculado às configurações padrão.

// Rename a window to "Foo"
{ "command": { "action": "renameWindow", "name": "Foo" }, "keys": "" }

// Reset the window's name
{ "command": { "action": "renameWindow", "name": null }, "keys": "" }

Parâmetros

Nome Necessidade Aceita Descrição
name Opcional Cadeia de caracteres O novo nome a ser usado para essa janela. Se o valor estiver omitido, esse comando reverterá o nome da janela de volta para o valor original.

Abrir janela para renomear a caixa de diálogo

Essas alterações de comando exibem uma janela pop-up que permite que você edite o nome da janela atual. Limpar o campo de texto redefinirá o nome da janela.

Nome do comando:openWindowRenamer

Associação padrão:

{ "command": "openWindowRenamer" }

Identificar janela

Abre uma sobreposição na janela focalizada que exibe o nome e o índice da janela.

Nome do comando:identifyWindow

Associação padrão:

{"command": "identifyWindow", "keys": "" },

Identificar janelas

Abre uma sobreposição em todas as janelas que exibe o nome e o índice de cada janela.

Nome do comando:identifyWindows

Associação padrão:

No momento, esse comando não está vinculado às configurações padrão.

{"command": "identifyWindows" },


Comandos de gerenciamento de painel

Fechar o painel

Fecha o painel ativo. Se não houver nenhum painel de divisão, a guia atual será fechada. Se houver apenas uma guia aberta, a janela será fechada.

Nome do comando:closePane

Associação padrão:

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

Mover o foco do painel

Altera o foco para um painel diferente, dependendo da direção. Definir direction como "previous" moverá o foco para o painel usado mais recentemente.

Nome do comando:moveFocus

Associações padrão:

{ "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" }, "keys": "ctrl+alt+left" }

Parâmetros

Nome Necessidade Aceita Descrição
direction Obrigatório "left", "right", "up", "down", "previous" Direção na qual o foco será movido.

Aplicar zoom a um painel

Expande o painel focalizado para preencher todo o conteúdo da janela.

Nome do comando:togglePaneZoom

Associação padrão:

{ "command": "togglePaneZoom" }

Alternar zoom do painel do Terminal do Windows

Redimensionar um painel

Altera o foco do painel ativo.

Nome do comando:resizePane

Associações padrão:

{ "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" }

Parâmetros

Nome Necessidade Aceita Descrição
direction Necessária "left", "right", "up", "down" Direção na qual o painel será redimensionado.

Marcar 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.

Nome do comando:toggleReadOnlyMode

Associações padrão:

{ "command": "toggleReadOnlyMode" }

Dividir um painel

Reduz o tamanho do painel ativo pela metade e abre outro. Sem nenhum argumento, o perfil padrão será aberto no novo painel. Se uma ação não for especificada, a configuração equivalente do perfil padrão será usada.

Nome do comando:splitPane

Associações padrão:

// In settings.json
{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" },

// In defaults.json
{ "command": { "action": "splitPane", "split": "horizontal" }, "keys": "alt+shift+-" },
{ "command": { "action": "splitPane", "split": "vertical" }, "keys": "alt+shift+plus" },
{ "command": { "action": "splitPane", "split": "up" } },
{ "command": { "action": "splitPane", "split": "right" } },
{ "command": { "action": "splitPane", "split": "down" } },
{ "command": { "action": "splitPane", "split": "left" } }

Parâmetros

Nome Necessidade Aceita Descrição
split Obrigatório "vertical", "horizontal", "auto", "up", "right", "down", "left" Como o painel será dividido. O "auto" se dividirá na direção que proporcionar a maior área de superfície.
commandline Opcional Nome de arquivo executável como uma cadeia de caracteres Executável executado dentro do painel.
startingDirectory Opcional Localização da pasta como uma cadeia de caracteres Diretório no qual o painel será aberto.
elevate Opcional true, false, null Substitui a propriedade elevate do perfil. Quando omitida, essa ação se comportará de acordo com a configuração elevate do perfil. Quando definida como true ou false, essa ação se comportará como se o perfil fosse definido com "elevate": true ou "elevate": false (respectivamente).
tabTitle Opcional Cadeia de caracteres Título da guia quando o novo painel está focalizado.
index Opcional Inteiro Perfil que será aberto com base na respectiva posição na lista suspensa (começando em 0).
profile Opcional Nome ou GUID do perfil como uma cadeia de caracteres Perfil que será aberto com base no respectivo GUID ou nome.
colorScheme Opcional O nome do esquema de cores como uma cadeia de caracteres O esquema a ser usado em vez do conjunto colorScheme do perfil
suppressApplicationTitle Opcional true, false Quando estiver definido como false, os aplicativos poderão alterar o título da guia enviando mensagens de alteração de título. Quando estiver definido como true, essas mensagens serão suprimidas. Se nenhum valor for fornecido, o comportamento será herdado das configurações do perfil.
splitMode Opcional "duplicate" Controla o modo como o painel se divide. Aceita apenas "duplicate", que duplicará o perfil do painel focalizado em um novo painel.
size Opcional Float Especifique qual deve ser o tamanho do novo painel, como uma fração do tamanho do painel atual. 1.0 é "todo o painel atual" e 0.0 é "nenhum do pai". Assume o padrão de 0.5.


Comandos de integração da área de transferência

Copiar

Copia o conteúdo de terminal selecionado para a área de transferência. Se não existir nenhuma seleção, o pressionamento simultâneo da tecla será enviado diretamente ao terminal.

Nome do comando:copy

Associações padrão:

// In settings.json
{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+c" },

// In defaults.json
{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+shift+c" },
{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+insert" },
{ "command": { "action": "copy", "singleLine": false }, "keys": "enter" }

Parâmetros

Nome Necessidade Aceita Descrição
singleLine Opcional true, false Quando true, o conteúdo copiado será copiado como apenas uma linha. Quando false, as novas linhas persistem do texto selecionado.
copyFormatting Opcional true, false, "all", "none", "html", "rtf" Quando o valor for true, a formatação referente à fonte e à cor do texto selecionado também será copiada para a área de transferência. Quando o valor for false, somente o texto sem formatação será copiado para a área de transferência. Você também pode especificar quais formatos gostaria de copiar. Quando o valor for null, o comportamento global "copyFormatting" será herdado.

Colar

Insere o conteúdo que foi copiado para a área de transferência.

Nome do comando:paste

Associações padrão:

// In settings.json
{ "command": "paste", "keys": "ctrl+v" },

// In defaults.json
{ "command": "paste", "keys": "ctrl+shift+v" },
{ "command": "paste", "keys": "shift+insert" }

Expandir a seleção para a palavra (Versão prévia)

Se houver uma seleção, isso expandirá a seleção para abranger totalmente todas as palavras parcialmente selecionadas.

Nome do comando:expandSelectionToWord

Associações padrão:

{ "command": "expandSelectionToWord" }

Selecionar tudo

Isso seleciona todo o conteúdo no buffer de texto.

Nome do comando:selectAll

Associações padrão:

{ "command": "selectAll", "keys": "ctrl+shift+a" }

Modo de marca (versão prévia)

Isso alterna o modo de marca. O modo de marca é um modo em que você pode usar o teclado para criar uma seleção na posição do cursor no terminal.

Nome do comando:markMode

Associações padrão:

{ "command": "markMode", "keys": "ctrl+shift+m" },

Importante

Este recurso só está disponível na Visualização do Terminal do Windows.

Alternar marcador de seleção (versão prévia)

Ao modificar uma seleção usando o teclado, você move uma extremidade da seleção. É possível usar essa ação para alternar para o outro marcador de seleção.

Nome do comando:switchSelectionEndpoint

Associações padrão:

{ "command": "switchSelectionEndpoint" },

Importante

Este recurso só está disponível na Visualização do Terminal do Windows.

Alternar seleção de bloco (versão prévia)

Torna a seleção existente uma seleção de bloco, o que significa que a área selecionada é um retângulo, em vez de encapsular no início e no fim de cada linha.

Nome do comando:toggleBlockSelection

Associações padrão:

{ "command": "toggleBlockSelection" },

Importante

Este recurso só está disponível na Visualização do Terminal do Windows.



Comandos scrollback

Rolar para cima

Rola a tela para cima pelo número de linhas definido por "rowsToScroll". Se "rowsToScroll" não for fornecido, será rolada para cima a quantidade definida pelo padrão do sistema, que tem o mesmo valor que a rolagem do mouse.

Nome do comando:scrollUp

Associação padrão:

{ "command": "scrollUp", "keys": "ctrl+shift+up" }

Parâmetros

Nome Necessidade Aceita Descrição
rowsToScroll Opcional Inteiro O número de linhas a serem roladas.

Rolar para baixo

Rola a tela para baixo pelo número de linhas definido por "rowsToScroll". Se "rowsToScroll" não for fornecido, será rolada para baixo a quantidade definida pelo padrão do sistema, que tem o mesmo valor que a rolagem do mouse.

Nome do comando:scrollDown

Associação padrão:

{ "command": "scrollDown", "keys": "ctrl+shift+down" }

Parâmetros

Nome Necessidade Aceita Descrição
rowsToScroll Opcional Inteiro O número de linhas a serem roladas.

Rolar uma página inteira para cima

Faz rolagem de uma página inteira para cima na tela, o que equivale à altura da janela.

Nome do comando:scrollUpPage

Associação padrão:

{ "command": "scrollUpPage", "keys": "ctrl+shift+pgup" }

Rolar uma página inteira para baixo

Faz rolagem de uma página inteira para baixo na tela, o que equivale à altura da janela.

Nome do comando:scrollDownPage

Associação padrão:

{ "command": "scrollDownPage", "keys": "ctrl+shift+pgdn" }

Rolar para o histórico mais antigo

Rola a tela para cima até a parte superior do buffer de entrada.

Nome do comando:scrollToTop

Associação padrão:

{ "command": "scrollToTop", "keys": "ctrl+shift+home" }

Rolar para o histórico mais recente

Rola a tela para baixo até a parte inferior do buffer de entrada.

Nome do comando:scrollToBottom

Associação padrão:

{ "command": "scrollToBottom", "keys": "ctrl+shift+end" }

Limpar buffer

Essa ação pode ser usada para limpar manualmente o buffer de terminal. Isso é útil em cenários em que você não está em um prompt de shell da linha de comando e não pode executar o Clear-Host/cls/clear facilmente.

Nome do comando:clearBuffer

Associações padrão:

{ "command": { "action": "clearBuffer", "clear": "all" } }

Parâmetros

Nome Necessidade Aceita Descrição
clear Opcional "screen", "scrollback", "all" Qual parte da tela deve ser limpa.
  • "screen": limpe o conteúdo do visor do terminal. Deixa o scrollback inalterado. Move a linha de cursor para a parte superior do visor (não modificado).
  • "scrollback": limpa o scrollback. Deixa o visor inalterado.
  • "all" (padrão): limpa o scrollback e o visor visível. Move a linha de cursor para a parte superior do visor.

Comandos de ajuste visual

Ajustar tamanho da fonte

Altera o tamanho do texto por um valor de ponto especificado.

Nome do comando:adjustFontSize

Associações padrão:

{ "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+=" },
{ "command": { "action": "adjustFontSize", "delta": -1 }, "keys": "ctrl+-" },
{ "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+numpad_plus" },
{ "command": { "action": "adjustFontSize", "delta": -1 }, "keys": "ctrl+numpad_minus" }

Parâmetros

Nome Necessidade Aceita Descrição
delta Obrigatório Inteiro Valor da alteração de tamanho por invocação de comando.

Redefinir tamanho da fonte

Redefine o tamanho do texto para o valor padrão.

Nome do comando:resetFontSize

Associações padrão:

{ "command": "resetFontSize", "keys": "ctrl+0" },
{ "command": "resetFontSize", "keys": "ctrl+numpad_0" }

Ajustar opacidade

Isso altera a opacidade da janela. Se relative for definido como true, ele ajustará a opacidade relativa à opacidade atual. Caso contrário, ele definirá a opacidade diretamente para o opacity determinado

Nome do comando:adjustOpacity

Associações padrão:

{ "command": { "action": "adjustOpacity", "relative": false, "opacity": 0 } },
{ "command": { "action": "adjustOpacity", "relative": false, "opacity": 25 } },
{ "command": { "action": "adjustOpacity", "relative": false, "opacity": 50 } },
{ "command": { "action": "adjustOpacity", "relative": false, "opacity": 100 } }

Parâmetros

Nome Necessidade Aceita Descrição
opacity Opcional Inteiro O nível de opacidade que o terminal deve ter ou por quanto a opacidade deve ser alterada, dependendo do valor de relative
relative Opcional Boolean Se for true, ajuste a opacidade atual de acordo com o parâmetro opacity fornecido. Se for false, defina a opacidade para exatamente esse valor.

Alternar efeitos do sombreador de pixel

Alterna os efeitos do sombreador de pixel habilitados no terminal. Se o usuário tiver especificado um sombreador válido com experimental.pixelShaderPath, essa ação ativará ou desativará o sombreador. Isso também alternará o "efeito de terminal retrô", que é habilitado com a configuração de perfil experimental.retroTerminalEffect.

Nome do comando:toggleShaderEffects

Associação padrão:

{ "command": "toggleShaderEffects" }

Cuidado

A ação toggleRetroEffect não está mais disponível nas versões 1.6 e posteriores. É recomendável que você use toggleShaderEffects.

Definir o esquema de cores

Altera o esquema de cores ativo.

Nome do comando:setColorScheme

Parâmetros

Nome Necessidade Aceita Descrição
colorScheme Obrigatório String O name do esquema de cores a ser aplicado.

Associação de exemplo:

{ "command": { "action": "setColorScheme", "colorScheme": "Campbell" }, "keys": "" }

Adicionar marca de rolagem experimental (versão prévia)

Adiciona uma marca de rolagem ao buffer de texto. Se houver uma seleção, a marca será colocada nela. Caso contrário, ela será colocada na linha do cursor. Esse é um recurso experimental e sua existência contínua não é garantida.

Nome do comando:addMark

Parâmetros

Nome Necessidade Aceita Descrição
color Opcional Cadeia de caracteres em formato hexadecimal: "#rgb" ou "#rrggbb" A cor da marca.

Associação de exemplo:

{ "command": { "action": "addMark", "color": "#ff00ff" } }

Importante

Este recurso só está disponível na Visualização do Terminal do Windows.

Marca de rolagem experimental (versão prévia)

Rola até a marca de rolagem na direção determinada. Esse é um recurso experimental e sua existência contínua não é garantida.

Nome do comando:scrollToMark

Parâmetros

Nome Necessidade Aceita Descrição
direction Necessária "first", "previous", "next", "last" A direção na qual rolar.

Associação de exemplo:

{ "command": { "action": "scrollToMark", "direction": "previous" } }

Importante

Este recurso só está disponível na Visualização do Terminal do Windows.

Marca de limpeza experimental (versão prévia)

Limpa a marca de rolagem na posição atual, em uma seleção, se houver uma, ou na posição do cursor. Esse é um recurso experimental e sua existência contínua não é garantida.

Nome do comando:clearMark

Associação de exemplo:

{ "command": { "action": "clearMark" } }

Importante

Este recurso só está disponível na Visualização do Terminal do Windows.

Limpar todas as marcas experimental (versão prévia)

Limpa todas as marcas de rolagem no buffer de texto. Esse é um recurso experimental e sua existência contínua não é garantida.

Nome do comando:clearAllMarks

Associação de exemplo:

{ "command": { "action": "clearAllMarks" } }

Importante

Este recurso só está disponível na Visualização do Terminal do Windows.



Exportação de buffer

Exportar buffer

Isso permite que o usuário exporte o texto do buffer para um arquivo. Se o arquivo não existir, ele será criado. Se o arquivo já existir, o conteúdo dele será substituído pelo texto do buffer do Terminal.

Nome do comando:exportBuffer

Associações padrão:

{ "command": { "action": "exportBuffer" } }

Parâmetros

Nome Necessidade Aceita Descrição
path Opcional String Se fornecido, o terminal vai exportar o conteúdo do buffer para o arquivo fornecido. Caso contrário, o terminal vai abrir um seletor de arquivos para escolher um arquivo para o qual exportar.

Comandos globais

Convocação global

Essa é uma ação especial que funciona globalmente no sistema operacional, em vez de apenas no contexto da janela do terminal. Quando pressionada, essa ação convocará a janela do terminal. Fatores como qual janela é convocada, para onde a janela é convocada e como a janela se comporta quando é convocada são controlados pelas propriedades nessa ação.

Observações

  • Todas as teclas associadas a ações globalSummon no terminal não funcionarão em outros aplicativos enquanto o terminal estiver em execução; elas sempre se concentrarão na janela do terminal.

  • Se outro aplicativo em execução já tiver sido registrado para o keys fornecido usando a API RegisterHotKey, o terminal não poderá escutar esses pressionamentos de tecla.

  • Instâncias com e sem privilégios elevados do terminal não poderão ser registradas para as mesmas teclas. O mesmo se aplica às versões prévias e estáveis do terminal. A primeira a ser iniciada sempre ganhará.

  • Esses pressionamentos de tecla só funcionarão quando uma instância do terminal já estiver em execução. Para iniciar o terminal automaticamente no logon, confira startOnUserLogin.

Nome do comando:globalSummon

Associação padrão:

No momento, esse comando não está vinculado às configurações padrão.

{ "keys": "", "command": { "action": "globalSummon" } }

Parâmetros

Nome Necessidade Aceita Descrição
desktop Opcional any, toCurrent, onCurrent Controla como o terminal deve interagir com áreas de trabalho virtuais.
  • "any": deixa a janela em qualquer área de trabalho em que ela já esteja. Ela alternará para essa área de trabalho quando a janela for ativada.
  • "toCurrent" (padrão): move a janela para a área de trabalho virtual atual.
  • "onCurrent": convoca a janela somente se ela já estiver na área de trabalho virtual atual.
monitor Opcional any, toCurrent, toMouse Isso controla o monitor do/para o qual a janela será convocada.
  • "any": convoca a janela usada mais recentemente, independentemente do monitor em que ela está no momento.
  • "toCurrent": convoca a janela usada mais recentemente para o monitor com a janela de primeiro plano atual.
  • "toMouse" (padrão): convoca a janela usada mais recentemente para o monitor em que o cursor está.
name Opcional String Quando omitido (padrão), use monitor e desktop para encontrar a janela apropriada usada mais recentemente para convocar. Quando fornecido, convoque a janela cujo nome ou ID corresponde ao valor name especificado. Se essa janela não existir, crie uma com esse nome.
dropdownDuration Opcional Inteiro Assume o padrão de 0. Quando fornecido com um número positivo, "deslize" a janela da parte superior da tela usando uma animação que dura dropdownDuration milissegundos. 200 é um valor razoável para essa configuração.
toggleVisibility Opcional true, false Assume o padrão de true. Quando for true, pressionar as teclas atribuídas para essa ação descartará (minimizará) a janela quando ela for a janela atualmente em primeiro plano. Quando for false, pressionar as teclas atribuídas somente levará a janela para o primeiro plano.

Quando name for fornecido commonitor ou desktop, name se comportará das seguintes maneiras:

  • desktop
    • "any": vai para a área de trabalho na qual a janela especificada já está.
    • "toCurrent": se a janela estiver em outra área de trabalho virtual, será movida para a área de trabalho ativa.
    • "onCurrent": se a janela estiver em outra área de trabalho virtual, será movida para a área de trabalho ativa.
  • monitor
    • "any": deixa a janela no monitor em que ela já está.
    • "toCurrent": se a janela estiver em outro monitor, será movida para o monitor com a janela em primeiro plano atual.
    • "toMouse": se a janela estiver em outro monitor, será movida para o monitor em que o cursor do mouse está.

As propriedades desktop e monitor podem ser combinadas das seguintes maneiras:

Combinações "desktop": "any" "desktop": "toCurrent" "desktop": "onCurrent" Não incluído
"monitor": "any" Vai para a área de trabalho na qual a janela está (deixa a posição sozinha) Move a janela para esta área de trabalho (deixa a posição sozinha) Se não houver nenhuma nessa área de trabalho:
  • Criará uma na posição padrão
Caso contrário:
  • Ativará a que está nessa área de trabalho (não a moverá)
Convoca a janela MRU
"monitor": "toCurrent" Vai para a área de trabalho na qual a janela está, é movida para o monitor com a janela em primeiro plano Move a janela para esta área de trabalho, é movida para o monitor com a janela em primeiro plano Se não houver nenhuma nessa área de trabalho:
  • Criará uma
Caso contrário:
  • Ativará a janela nesta área de trabalho, será movida para o monitor com a janela em primeiro plano
Convoca a janela MRU PARA o monitor com a janela em primeiro plano
"monitor": "toMouse" Vai para a área de trabalho na qual a janela está, é movida para o monitor com o mouse Move a janela para esta área de trabalho, é movida para o monitor com o mouse Se não houver nenhuma nessa área de trabalho:
  • Criará uma
Caso contrário:
  • Ativará a que está nesta área de trabalho, será movida para o monitor com o mouse
Convoca a janela MRU PARA o monitor com o mouse
Não incluído Deixa onde está É movida para a área de trabalho atual Somente na área de trabalho atual N/D

Exemplos


// Summon the most recently used (MRU) window, to the current virtual desktop,
// to the monitor the mouse cursor is on, without an animation. If the window is
// already in the foreground, then minimize it.
{ "keys": "ctrl+1", "command": { "action": "globalSummon" } },

// Summon the MRU window, by going to the virtual desktop the window is
// currently on. Move the window to the monitor the mouse is on.
{ "keys": "ctrl+2", "command": { "action": "globalSummon", "desktop": "any" } },

// Summon the MRU window to the current desktop, leaving the position of the window untouched.
{ "keys": "ctrl+3", "command": { "action": "globalSummon", "monitor": "any" } },

// Summon the MRU window, by going to the virtual desktop the window is
// currently on, leaving the position of the window untouched.
{ "keys": "ctrl+4", "command": { "action": "globalSummon", "desktop": "any", "monitor": "any" } },

// Summon the MRU window with a dropdown duration of 200ms.
{ "keys": "ctrl+5", "command": { "action": "globalSummon", "dropdownDuration": 200 } },

// Summon the MRU window. If the window is already in the foreground, do nothing.
{ "keys": "ctrl+6", "command": { "action": "globalSummon", "toggleVisibility": false } },

// Summon the window named "_quake". If no window with that name exists, then create a new window.
{ "keys": "ctrl+7", "command": { "action": "globalSummon", "name": "_quake" } }

Abrir a janela no modo quake

Essa ação é uma variação especial da ação globalSummon. Ela especificamente convoca a janela quake. É uma forma resumida para a seguinte ação globalSummon:

{
"keys": "win+`",
"command": {
"action": "globalSummon",
"name": "_quake",
"dropdownDuration": 200,
"toggleVisibility": true,
"monitor": "toMouse",
"desktop": "toCurrent"
}
}

Se você quiser alterar o comportamento da ação quakeMode, recomendamos criar uma entrada globalSummon no actions com as configurações de sua preferência.

Nome do comando:quakeMode

Associação padrão:

{ "keys": "win+`", "command": { "action": "quakeMode" } }

Modo quake do Terminal do Windows



Executar várias ações

Essa ação permite que o usuário associe várias ações sequenciais a um comando.

Nome do comando:multipleActions

Parâmetros

Nome Necessidade Aceita Descrição
actions Obrigatório Matriz de ações A lista de action a ser executada.

Exemplo

{ "name": "Create My Layout", "command": { 
    "action": "multipleActions",
    "actions": [
        // Create a new tab with 3 panes
        { "action": "newTab", "tabTitle": "Work", "colorScheme": "One Half Dark" },
        { "action": "splitPane", "split": "vertical", "profile": "Windows PowerShell", "tabTitle": "Work", "colorScheme": "Campbell Powershell", },
        { "action": "splitPane", "split": "horizontal", "profile": "Windows PowerShell", "tabTitle": "Work", "colorScheme": "Campbell Powershell", },

        // Create a second tab
        { "action": "newTab", "tabTitle": "Misc"},

        // Go back to the first tab and zoom the first pane
        { "action": "prevTab", "tabSwitcherMode": "disabled" },
        { "action": "moveFocus", "direction": "first"},
        "togglePaneZoom"
        ]
}}


Desassociar teclas (desabilitar associações de teclas)

Você pode desabilitar as associações de teclas ou "desassociar" as teclas associadas de qualquer comando. Isso poderá ser necessário quando você usar aplicativos de terminal subjacentes (como VIM). A tecla desassociada passará para o terminal subjacente.

Nome do comando:unbound

Exemplo usando unbound:

Por exemplo, para desassociar as teclas de atalho Alt+Shift+-" e Alt+Shift+=", inclua esses comandos na seção actions do arquivo settings.json.

{
    "actions": [
        { "command": "unbound", "keys": "alt+shift+-" },
        { "command": "unbound", "keys": "alt+shift+=" }
    ]
}

Exemplo usando null:

Você também pode desassociar um pressionamento de tecla que está associado, por padrão, a uma ação definindo "command" como null. Isso também permitirá que o pressionamento de tecla seja associado à configuração de aplicativo de linha de comando em vez de executar a ação padrão.

{
   "command" : null, "keys" : ["ctrl+v"]
},

Cenário de caso de uso:

O Terminal do Windows usa a associação de teclas de atalho Ctrl+V como o comando colar. Ao trabalhar com uma linha de comando do WSL, talvez você queira usar um aplicativo do Linux, como o Vim, para editar arquivos. No entanto, o Vim adota a associação de teclas Ctrl+v para usar o modo Visual blockwise. Essa associação de tecla será bloqueada, com o comando de colagem do Terminal do Windows tendo prioridade, a menos que a configuração unbound seja ajustada no arquivo settings.json para que a associação de tecla seja associada ao aplicativo de linha de comando do Vim, e não à associação do Terminal do Windows.