Compartilhar via


Ações personalizadas e atalhos de teclado no Terminal do Windows

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", "id": "User.MyCommand" }

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

{ "command": "closeWindow", "id": "User.MyCloseWindow" }

Comandos com argumentos

{ "command": { "action": "commandName", "argument": "value" }, "id": "User.MyCommand" }

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 }, "id": "User.MyNewTabAction" }

Comandos com argumentos de linha de comando

{ "command": { "action": "wt", "commandline": "value" }, "keys": "modifiers+key" }

Por exemplo, essa configuração padrão usa a tecla de atalho Ctrl+Shift+O para usar wt para abrir uma nova guia do PowerShell com painéis adicionais para o Prompt de Comando e o Ubuntu:

{
  "command": 
  {
    "action": "wt",
    "commandline": "new-tab pwsh.exe ; split-pane -p \"Command Prompt\" -d C:\\ ; split-pane -p \"Ubuntu\" -H"
  },
  "keys": "ctrl+shift+o"
}

Propriedades da ação

As ações são armazenadas na actions matriz e 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

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

ID

Isso define o id dessa ação. Se não for fornecido, o terminal gerará um ID para essa ação. A ID é usada para se referir a essa ação ao criar atalhos de teclado.

Nome da propriedade: id

Necessidade: Opcional

Aceita: String


Atalhos de teclado

As ações podem ser atribuídas a atalhos de teclado referindo-se a elas com sua ID exclusiva. Por exemplo, aqui está uma matriz possível keybindings que atribui Alt+F4, Ctrl+Shift+1 e Ctrl+Shift+o às ações definidas acima. Várias entradas de atalho de teclado podem ser criadas para a mesma ação.

"keybindings": [
  { "keys": "alt+f4", "id": "User.MyCloseWindow" },
  { "keys": "ctrl+shift+1", "id": "User.MyNewTabAction" },
  { "keys": "ctrl+shift+o", "id": "User.MyCoolSetup"}
]

Propriedades de atalho de teclado

As combinações de teclas são armazenadas na keybindings matriz e são construídas usando as propriedades a seguir.

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: Necessária

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

ID

Esse é o ID da ação a ser invocada quando essa associação de teclas é pressionada.

Nome da propriedade: id

Necessidade: Necessária

Aceita: Cadeia de caracteres


Modificadores aceitos

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+<tecla>. 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, pagedownendpageuppgdnpgup,home
Teclas de ação tab, enter, esc, escape, spaceappbackspacedeleteinsert,menu
Teclas do teclado numérico numpad_0-numpad_9, numpad0-numpad9, numpad_add, numpad_plus, numpad_decimalnumpad_subtractnumpad_periodnumpad_dividenumpad_minus,numpad_multiply
Teclas do navegador browser_back, browser_forward, browser_refresh, browser_stop, browser_search, browser_favorites, , browser_home

Nota: = 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

ID padrão:

{ "command": "quit", "id": "Terminal.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

ID padrão:

{ "command": "closeWindow", "id": "Terminal.CloseWindow" }

Associação padrão:

{ "keys": "alt+f4", "id": "Terminal.CloseWindow" }

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

ID padrão:

{ "command": "find", "id": "Terminal.FindText" }

Associação padrão:

{ "keys": "ctrl+shift+f", "id": "Terminal.FindText" }

Encontrar a correspondência de pesquisa seguinte/posterior

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

Nome do comando: findMatch

IDs padrão:

{ "command": { "action": "findMatch", "direction": "next" }, "id": "Terminal.FindNextMatch" },
{ "command": { "action": "findMatch", "direction": "prev" }, "id": "Terminal.FindPrevMatch" }

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

ID padrão:

{ "command": "openNewTabDropdown", "id": "Terminal.OpenNewTabDropdown" }

Associação padrão:

{ "keys": "ctrl+shift+space", "id": "Terminal.OpenNewTabDropdown" }

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

IDs padrão:

{ "command": { "action": "openSettings", "target": "settingsUI" }, "id": "Terminal.OpenSettingsUI" },
{ "command": { "action": "openSettings", "target": "settingsFile" }, "id": "Terminal.OpenSettingsFile" },
{ "command": { "action": "openSettings", "target": "defaultsFile" }, "keys": "Terminal.OpenDefaultSettingsFile" }

Associações padrão:

{ "keys": "ctrl+,", "id": "Terminal.OpenSettingsUI" },
{ "keys": "ctrl+shift+,", "id": "Terminal.OpenSettingsFile" },
{ "keys": "ctrl+alt+,", "id": "Terminal.OpenDefaultSettingsFile" }

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

ID padrão:

{ "command": "openSystemMenu", "id": "Terminal.OpenSystemMenu" }

Associação padrão:

{ "keys": "alt+space", "id": "Terminal.OpenSystemMenu" }

Alternar tela inteira

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

Nome do comando: toggleFullscreen

ID padrão

{ "command": "toggleFullscreen", "id": "Terminal.ToggleFullscreen" }

Associações padrão:

{ "keys": "alt+enter", "id": "Terminal.ToggleFullscreen" },
{ "keys": "f11", "id": "Terminal.ToggleFullscreen" }

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

ID padrão:

{ "command": "toggleFocusMode", "id": "Terminal.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

ID padrão:

{ "command": "toggleAlwaysOnTop", "id": "Terminal.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" } }

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

ID padrão:

{ "command": "closeOtherTabs", "id": "Terminal.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

ID padrão:

{ "command": "closeTabsAfter", "id": "Terminal.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

ID padrão:

{ "command": "duplicateTab", "id": "Terminal.DuplicateTab" }

Associação padrão:

{ "keys": "ctrl+shift+d", "id": "Terminal.DuplicateTab" }

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

IDs padrão:

{ "command": "newTab", "id": "Terminal.OpenNewTab" },
{ "command": { "action": "newTab", "index": 0 }, "id": "Terminal.OpenNewTabProfile0" },
{ "command": { "action": "newTab", "index": 1 }, "id": "Terminal.OpenNewTabProfile1" },
{ "command": { "action": "newTab", "index": 2 }, "id": "Terminal.OpenNewTabProfile2" },
{ "command": { "action": "newTab", "index": 3 }, "id": "Terminal.OpenNewTabProfile3" },
{ "command": { "action": "newTab", "index": 4 }, "id": "Terminal.OpenNewTabProfile4" },
{ "command": { "action": "newTab", "index": 5 }, "id": "Terminal.OpenNewTabProfile5" },
{ "command": { "action": "newTab", "index": 6 }, "id": "Terminal.OpenNewTabProfile6" },
{ "command": { "action": "newTab", "index": 7 }, "id": "Terminal.OpenNewTabProfile7" },
{ "command": { "action": "newTab", "index": 8 }, "id": "Terminal.OpenNewTabProfile8" }

Associações padrão:

{ "keys": "ctrl+shift+t", "id": "Terminal.OpenNewTab" },
{ "keys": "ctrl+shift+1", "id": "Terminal.OpenNewTabProfile0" },
{ "keys": "ctrl+shift+2", "id": "Terminal.OpenNewTabProfile1" },
{ "keys": "ctrl+shift+3", "id": "Terminal.OpenNewTabProfile2" },
{ "keys": "ctrl+shift+4", "id": "Terminal.OpenNewTabProfile3" },
{ "keys": "ctrl+shift+5", "id": "Terminal.OpenNewTabProfile4" },
{ "keys": "ctrl+shift+6", "id": "Terminal.OpenNewTabProfile5" },
{ "keys": "ctrl+shift+7", "id": "Terminal.OpenNewTabProfile6" },
{ "keys": "ctrl+shift+8", "id": "Terminal.OpenNewTabProfile7" },
{ "keys": "ctrl+shift+9", "id": "Terminal.OpenNewTabProfile8" }

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

ID padrão:

{ "command": "nextTab", "id": "Terminal.NextTab" }

Associação padrão:

{ "keys": "ctrl+tab", "id": "Terminal.NextTab" }

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

ID padrão:

{ "command": "prevTab", "id": "Terminal.PrevTab" }

Associação padrão:

{ "keys": "ctrl+shift+tab", "id": "Terminal.PrevTab" }

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

Pesquisa de guias do Terminal do Windows

Abrir uma guia específica

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

Nome do comando: switchToTab

IDs padrão:

{ "command": { "action": "switchToTab", "index": 0 }, "id": "Terminal.SwitchToTab0" },
{ "command": { "action": "switchToTab", "index": 1 }, "id": "Terminal.SwitchToTab1" },
{ "command": { "action": "switchToTab", "index": 2 }, "id": "Terminal.SwitchToTab2" },
{ "command": { "action": "switchToTab", "index": 3 }, "id": "Terminal.SwitchToTab3" },
{ "command": { "action": "switchToTab", "index": 4 }, "id": "Terminal.SwitchToTab4" },
{ "command": { "action": "switchToTab", "index": 5 }, "id": "Terminal.SwitchToTab5" },
{ "command": { "action": "switchToTab", "index": 6 }, "id": "Terminal.SwitchToTab6" },
{ "command": { "action": "switchToTab", "index": 7 }, "id": "Terminal.SwitchToTab7" }

Associações padrão:

{ "keys": "ctrl+alt+1", "id": "Terminal.SwitchToTab0" },
{ "keys": "ctrl+alt+2", "id": "Terminal.SwitchToTab1" },
{ "keys": "ctrl+alt+3", "id": "Terminal.SwitchToTab2" },
{ "keys": "ctrl+alt+4", "id": "Terminal.SwitchToTab3" },
{ "keys": "ctrl+alt+5", "id": "Terminal.SwitchToTab4" },
{ "keys": "ctrl+alt+6", "id": "Terminal.SwitchToTab5" },
{ "keys": "ctrl+alt+7", "id": "Terminal.SwitchToTab6" },
{ "keys": "ctrl+alt+8", "id": "Terminal.SwitchToTab7" }

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

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

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

ID padrão:

{ "command": "openTabRenamer", "id": "Terminal.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" } }

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

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

ID padrão:

{ "command": "openTabColorPicker", "id": "Terminal.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

IDs padrão:

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

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

Parâmetros

Nome Necessidade Aceita Descrição
direction Obrigatório "backward", "forward" Direção na qual a guia será movida.
window Opcional Uma ID de janela Consulte abaixo

window é opcional e segue o mesmo formato do argumento --window-id da linha de comando wt.exe. Se for omitido, isso moverá a guia dentro da janela atual. Se for fornecido, poderá ser a ID inteira de uma janela ou o nome de uma janela. Ele também aceita os seguintes valores reservados:

  • "new" ou -1: sempre executar este comando em uma nova janela
  • "last" ou 0: sempre executar este comando na última janela usada

Se não houver nenhuma janela com a ID window será criada uma janela com essa ID/nome.

Entrada de transmissão

Esse comando alternará o "modo de transmissão" para um painel. Quando o modo de transmissão estiver habilitado, todas as entradas enviadas para o painel serão enviadas para todos os painéis na mesma guia. Isso é útil para enviar a mesma entrada para vários painéis ao mesmo tempo.

Como em qualquer ação, você também pode invocar o "modo de transmissão" pesquisando por "Alternar entrada de transmissão para todos os painéis" na paleta de comandos.

Nome do comando: toggleBroadcastInput

ID padrão:

{ "command": "toggleBroadcastInput", "id": "Terminal.ToggleBroadcastInput" }

Entrada de transmissão

Abrir menu de contexto

Esse comando abrirá o menu de contexto "clique com o botão direito do mouse" para o painel ativo. Esse menu tem ações relevantes para o contexto para gerenciar painéis, copiar e colar e muito mais. Essa ação não exige que a configuração experimental.rightClickContextMenu seja habilitada.

Nome do comando: showContextMenu

ID padrão:

{ "command": "showContextMenu", "id": "Terminal.ShowContextMenu" }

Abrir caixa de diálogo Sobre

Esse comando abrirá a caixa de diálogo sobre para o terminal. Essa caixa de diálogo contém informações sobre o terminal, incluindo o número da versão, a licença e muito mais.

Nome do comando: openAbout

ID padrão:

{ "command": "openAbout", "id": "Terminal.OpenAboutDialog" }

Importante

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

Pesquisar na Web

Tenta abrir uma janela do navegador com uma pesquisa para o texto selecionado. Isso não faz nada se não houver texto selecionado. Se o parâmetro queryUrl não for fornecido, a configuração searchWebDefaultQueryUrl será usada. Se o parâmetro queryUrl for fornecido, um %s na cadeia de caracteres será substituído pelo texto selecionado.

Nome do comando: searchWeb

ID padrão:

{ "command": { "action": "searchWeb" }, "id": "Terminal.SearchWeb" },

Parâmetros

Nome Necessidade Aceita Descrição
queryUrl Obrigatório String URL para usar para pesquisar. Um %s nessa cadeia de caracteres será substituído pelo texto selecionado. Se omitido, adotará como padrão a configuração searchWebDefaultQueryUrl.

Importante

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



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

ID padrão:

{ "command": "newWindow", "id": "Terminal.OpenNewWindow" },

Associação padrão:

{ "keys": "ctrl+shift+n", "id": "Terminal.OpenNewWindow" },

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 definido como true, suprime 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" } }

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

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

ID padrão:

{ "command": "openWindowRenamer", "id": "Terminal.OpenWindowRenamer" }

Identificar janela

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

Nome do comando: identifyWindow

ID padrão:

{"command": "identifyWindow", "id": "Terminal.IdentifyWindow" },

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

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

IDs padrão:

{ "command": { "action": "splitPane", "splitMode": "duplicate", "split": "auto" }, "id": "Terminal.DuplicatePaneAuto" },
{ "command": { "action": "splitPane", "split": "up" }, "id": "Terminal.SplitPaneUp" },
{ "command": { "action": "splitPane", "split": "down" }, "id": "Terminal.SplitPaneDown" },
{ "command": { "action": "splitPane", "split": "left" }, "id": "Terminal.SplitPaneLeft" },
{ "command": { "action": "splitPane", "split": "right" }, "id": "Terminal.SplitPaneRight" },
{ "command": { "action": "splitPane", "splitMode": "duplicate", "split": "down" }, "id": "Terminal.DuplicatePaneDown" },
{ "command": { "action": "splitPane", "splitMode": "duplicate", "split": "right" }, "id": "Terminal.DuplicatePaneRight" }

Associações padrão:

{ "keys": "alt+shift+d", "id": "Terminal.DuplicatePaneAuto" },
{ "keys": "alt+shift+-", "id": "Terminal.DuplicatePaneDown" },
{ "keys": "alt+shift+plus", "id": "Terminal.DuplicatePaneRight" }

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.

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

ID padrão:

{ "command": "closePane", "id": "Terminal.ClosePane" }

Associação padrão:

{ "keys": "ctrl+shift+w", "id": "Terminal.ClosePane" }

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

IDs padrão:

{ "command": { "action": "moveFocus", "direction": "down" }, "id": "Terminal.MoveFocusDown" },
{ "command": { "action": "moveFocus", "direction": "left" }, "id": "Terminal.MoveFocusLeft" },
{ "command": { "action": "moveFocus", "direction": "right" }, "id": "Terminal.MoveFocusRight" },
{ "command": { "action": "moveFocus", "direction": "up" }, "id": "Terminal.MoveFocusUp" },
{ "command": { "action": "moveFocus", "direction": "previous" }, "id": "Terminal.MoveFocusPrevious" }

Associações padrão:

{ "keys": "alt+down", "id": "Terminal.MoveFocusDown" },
{ "keys": "alt+left", "id": "Terminal.MoveFocusLeft" },
{ "keys": "alt+right", "id": "Terminal.MoveFocusRight" },
{ "keys": "alt+up", "id": "Terminal.MoveFocusUp" },
{ "keys": "ctrl+alt+left", "id": "Terminal.MoveFocusPrevious" }

Parâmetros

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

Valores de direction aceitos

  • up, down, left ou right movem o foco na direção determinada.
  • first move o foco para o primeiro painel folha na árvore.
  • previous move o foco para o último painel usado antes do painel atual.
  • nextInOrder, previousInOrder movem o foco para o painel seguinte ou anterior na ordem de criação.
  • parent move o foco para selecionar o painel pai do painel atual. Isso permite que o usuário selecione vários painéis ao mesmo tempo
  • child move o foco para o primeiro painel filho deste painel.

Mover painel

Mover o painel ativo no momento para uma guia diferente na janela.

Nome do comando: movePane

IDs padrão:

{ "command": { "action": "movePane", "index": 0 }, "id": "Terminal.MovePaneToTab0" },
{ "command": { "action": "movePane", "index": 1 }, "id": "Terminal.MovePaneToTab1" },
{ "command": { "action": "movePane", "index": 2 }, "id": "Terminal.MovePaneToTab2" },
{ "command": { "action": "movePane", "index": 3 }, "id": "Terminal.MovePaneToTab3" },
{ "command": { "action": "movePane", "index": 4 }, "id": "Terminal.MovePaneToTab4" },
{ "command": { "action": "movePane", "index": 5 }, "id": "Terminal.MovePaneToTab5" },
{ "command": { "action": "movePane", "index": 6 }, "id": "Terminal.MovePaneToTab6" },
{ "command": { "action": "movePane", "index": 7 }, "id": "Terminal.MovePaneToTab7" },
{ "command": { "action": "movePane", "index": 8 }, "id": "Terminal.MovePaneToTab8" }

Parâmetros

Nome Necessidade Aceita Descrição
index Obrigatório número O índice indexado em zero da guia de destino da movimentação

Trocar painéis

Trocar a posição de dois painéis em uma guia. Esse comando é operado no painel ativo e em um painel de destino, de acordo com o parâmetro direction.

Nome do comando: swapPane

IDs padrão:

{ "command": { "action": "swapPane", "direction": "down" }, "id": "Terminal.SwapPaneDown" },
{ "command": { "action": "swapPane", "direction": "left" }, "id": "Terminal.SwapPaneLeft" },
{ "command": { "action": "swapPane", "direction": "right" }, "id": "Terminal.SwapPaneRight" },
{ "command": { "action": "swapPane", "direction": "up" }, "id": "Terminal.SwapPaneUp" },
{ "command": { "action": "swapPane", "direction": "previous"}, "id": "Terminal.SwapPanePrevious" },
{ "command": { "action": "swapPane", "direction": "previousInOrder"}, "id": "Terminal.SwapPanePreviousInOrder" },
{ "command": { "action": "swapPane", "direction": "nextInOrder"}, "id": "Terminal.SwapPaneNextInOrder" },
{ "command": { "action": "swapPane", "direction": "first" }, "id": "Terminal.SwapPaneFirst" }

Parâmetros

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

Valores de direction aceitos (são os mesmos valores que os do comando moveFocus)

  • up, down, left ou right: trocar o painel ativo pelo que está na direção determinada.
  • first: trocar o painel ativo pelo primeiro painel folha na árvore.
  • previous: trocar o painel ativo pelo último painel usado antes do painel atual.
  • nextInOrder, previousInOrder: trocar o painel ativo pelo painel seguinte ou anterior na ordem de criação.
  • parent: não faz nada.
  • child: não faz nada.

Aplicar zoom a um painel

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

Nome do comando: togglePaneZoom

ID padrão:

{ "command": "togglePaneZoom", "id": "Terminal.TogglePaneZoom" }

Alternar zoom do painel do Terminal do Windows

Redimensionar um painel

Altera o foco do painel ativo.

Nome do comando: resizePane

IDs padrão:

{ "command": { "action": "resizePane", "direction": "down" }, "id": "Terminal.ResizePaneDown" },
{ "command": { "action": "resizePane", "direction": "left" }, "id": "Terminal.ResizePaneLeft" },
{ "command": { "action": "resizePane", "direction": "right" }, "id": "Terminal.ResizePaneRight" },
{ "command": { "action": "resizePane", "direction": "up" }, "id": "Terminal.ResizePaneUp" }

Associações padrão:

{ "keys": "alt+shift+down", "id": "Terminal.ResizePaneDown" },
{ "keys": "alt+shift+left", "id": "Terminal.ResizePaneLeft" },
{ "keys": "alt+shift+right", "id": "Terminal.ResizePaneRight" },
{ "keys": "alt+shift+up", "id": "Terminal.ResizePaneUp" }

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

ID padrão:

{ "command": "toggleReadOnlyMode", "id": "Terminal.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

ID padrão:

{ "command": "enableReadOnlyMode", "id": "Terminal.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

ID padrão:

{ "command": "disableReadOnlyMode", "id": "Terminal.DisableReadOnlyMode" }

Reiniciar um painel

Esse comando reiniciará o commandline manualmente no painel ativo. Isso é especialmente útil para cenários como ssh, em que talvez você queira reiniciar uma conexão sem fechar o painel.

Observe que isso encerrará o processo no painel, se ele estiver em execução no momento.

Nome do comando: restartConnection

ID padrão:

{ "command": "restartConnection", "id": "Terminal.RestartConnection" }


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

ID padrão:

{ "command": { "action": "copy", "singleLine": false }, "id": "Terminal.CopyToClipboard" }

Associações padrão:

{ "keys": "ctrl+c", "id": "Terminal.CopyToClipboard" },
{ "keys": "ctrl+shift+c", "id": "Terminal.CopyToClipboard" },
{ "keys": "ctrl+insert", "id": "Terminal.CopyToClipboard" },
{ "keys": "enter", "id": "Terminal.CopyToClipboard" }

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

ID padrão:

{ "command": "paste", "id": "Terminal.PasteFromClipboard" }

Associações padrão:

{ "keys": "ctrl+v", "id": "Terminal.PasteFromClipboard" },
{ "keys": "ctrl+shift+v", "id": "Terminal.PasteFromClipboard" },
{ "keys": "shift+insert", "id": "Terminal.PasteFromClipboard" }

Expandir a seleção para palavra

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

Nome do comando: expandSelectionToWord

ID padrão:

{ "command": "expandSelectionToWord", "id": "Terminal.ExpandSelectionToWord" }

Selecionar tudo

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

Nome do comando: selectAll

ID padrão:

{ "command": "selectAll", "id": "Terminal.SelectAll" }

Associação padrão:

{ "keys": "ctrl+shift+a", "id": "Terminal.SelectAll" }

Modo de marca

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

ID padrão:

{ "command": "markMode", "id": "Terminal.ToggleMarkMode" }

Associação padrão:

{ "keys": "ctrl+shift+m", "id": "Terminal.ToggleMarkMode" }

Trocar de marcador de seleção

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

ID padrão:

{ "command": "switchSelectionEndpoint", "id": "Terminal.SwitchSelectionEndpoint" },

Alternar seleção de bloco

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

Nome do comando: toggleBlockSelection

ID padrão:

{ "command": "toggleBlockSelection", "id": "Terminal.ToggleBlockSelection" },


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

ID padrão:

{ "command": "scrollUp", "id": "Terminal.ScrollUp" }

Associação padrão:

{ "keys": "ctrl+shift+up", "id": "Terminal.ScrollUp" }

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

ID padrão:

{ "command": "scrollDown", "id": "Terminal.ScrollDown" }

Associação padrão:

{ "keys": "ctrl+shift+down", "id": "Terminal.ScrollDown" }

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

ID padrão:

{ "command": "scrollUpPage", "id": "Terminal.ScrollUpPage" }

Associação padrão:

{ "keys": "ctrl+shift+pgup", "id": "Terminal.ScrollUpPage" }

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

ID padrão:

{ "command": "scrollDownPage", "id": "Terminal.ScrollDownPage" }

Associação padrão:

{ "keys": "ctrl+shift+pgdn", "id": "Terminal.ScrollDownPage" }

Rolar para o histórico mais antigo

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

Nome do comando: scrollToTop

ID padrão:

{ "command": "scrollToTop", "id": "Terminal.ScrollToTop" }

Associação padrão:

{ "keys": "ctrl+shift+home", "id": "Terminal.ScrollToTop" }

Rolar para o histórico mais recente

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

Nome do comando: scrollToBottom

ID padrão:

{ "command": "scrollToBottom", "id": "Terminal.ScrollToBottom" }

Associação padrão:

{ "keys": "ctrl+shift+end", "id": "Terminal.ScrollToBottom" }

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

ID padrão:

{ "command": { "action": "clearBuffer", "clear": "all" }, "id": "Terminal.ClearBuffer" }

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

IDs padrão:

{ "command": { "action": "adjustFontSize", "delta": 1 }, "id": "Terminal.IncreaseFontSize" },
{ "command": { "action": "adjustFontSize", "delta": -1 }, "id": "Terminal.DecreaseFontSize" }

Associações padrão:

{ "keys": "ctrl+plus", "id": "Terminal.IncreaseFontSize" },
{ "keys": "ctrl+minus", "id": "Terminal.DecreaseFontSize" },
{ "keys": "ctrl+numpad_plus", "id": "Terminal.IncreaseFontSize" },
{ "keys": "ctrl+numpad_minus", "id": "Terminal.DecreaseFontSize" }

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

ID padrão:

{ "command": "resetFontSize", "id": "Terminal.ResetFontSize" }

Associações padrão:

{ "keys": "ctrl+0", "id": "Terminal.ResetFontSize" },
{ "keys": "ctrl+numpad_0", "id": "Terminal.ResetFontSize" }

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": 75 } },
{ "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

ID padrão:

{ "command": "toggleShaderEffects", "id": "Terminal.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.

Exemplo de declaração:

{ "command": { "action": "setColorScheme", "colorScheme": "Campbell" }, "id": "User.SetSchemeToCampbell" }

Adicionar Marca de Rolagem

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.

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.

Exemplo de declaração:

{ "command": { "action": "addMark", "color": "#ff00ff" }, "id": "User.AddMark" }

Importante

Essa ação tornou-se estável na versão 1.21. Antes dessa versão, ela só estava disponível na Visualização do Terminal do Windows

Rolar para marcar

Rola até a marca de rolagem na direção determinada. Para obter mais informações, consulte Marcas de rolagem e Integração do shell.

Nome do comando: scrollToMark

Parâmetros

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

Exemplo de declaração:

{ "command": { "action": "scrollToMark", "direction": "previous" }, "id": "User.ScrollToMark" }

Importante

Essa ação tornou-se estável na versão 1.21. Antes dessa versão, ela só estava disponível na Visualização do Terminal do Windows

Limpar marca

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

Exemplo de declaração:

{ "command": { "action": "clearMark" }, "id": "User.ClearMark" }

Importante

Essa ação tornou-se estável na versão 1.21. Antes dessa versão, ela só estava disponível na Visualização do Terminal do Windows

Limpar Todas as Marcas

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

Exemplo de declaração:

{ "command": { "action": "clearAllMarks" }, "id": "User.ClearAllMarks" }

Importante

Essa ação tornou-se estável na versão 1.21. Antes dessa versão, ela só estava disponível na Visualização do Terminal do Windows


___

Sugestões

Abrir o menu de sugestões

Isso permite que o usuário abra o menu de sugestões. As entradas no menu de sugestões são controladas pela propriedade source. O menu de sugestões se comporta como a paleta de comandos. Digitar na caixa de texto filtrará os resultados para mostrar apenas as entradas que correspondem ao texto. Pressionar enter executará a entrada selecionada. Pressionar esc fechará o menu.

Sugestões de interface do usuário

Nome do comando: showSuggestions

Parâmetros

Nome Necessidade Aceita Descrição
source Necessário qualquer número de "recentCommands", "tasks" ou "all" Quais fontes de sugestão usar para preencher esse menu. Veja abaixo uma descrição de cada um.
useCommandline Opcional Boolean Se a integração do shell estiver habilitada, e isso for true, o menu de sugestões será pré-preenchido com o conteúdo da linha de comando atual. Usa como padrão true

Fontes de sugestão

Há suporte para as seguintes fontes de sugestão:

  • "recentCommands": isso preencherá o menu de sugestões com os comandos usados mais recentemente. Elas são alimentadas por integração do shell, portanto, elas só estarão disponíveis se você tiver seu shell configurado para oferecer suporte à integração do shell. Para obter mais informações, confira Integração do Shell.
  • "tasks": isso preencherá o menu de sugestões com todas as ações de sendInput de suas configurações.
  • "all": usa todas as fontes de sugestão.

Esses valores podem ser usados sozinhos como um valor de parâmetro de cadeia de caracteres ou combinados como uma matriz. Por exemplo:

{ "command": { "action": "showSuggestions", "source": ["recentCommands", "tasks"] } },
{ "command": { "action": "showSuggestions", "source": "all" } },
{ "command": { "action": "showSuggestions", "source": "recentCommands" } },

No exemplo acima, os dois primeiros comandos abrirão o menu de sugestões com comandos e tarefas recentes. O terceiro comando abrirá o menu de sugestões apenas com os comandos recentes.

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

ID padrão:

{ "command": { "action": "exportBuffer" }, "id": "Terminal.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.

{ "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 é fornecido com monitor ou desktop, name se comporta 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.
{ "command": { "action": "globalSummon" }, "id": "User.MyGlobalSummon" },

// 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.
{ "command": { "action": "globalSummon", "desktop": "any" }, "id": "User.MyGlobalSummonAnyDesktop" },

// Summon the MRU window to the current desktop, leaving the position of the window untouched.
{ "command": { "action": "globalSummon", "monitor": "any" }, "id": "User.MyGlobalSummonAnyMonitor" },

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

// Summon the MRU window with a dropdown duration of 200ms.
{ "command": { "action": "globalSummon", "dropdownDuration": 200 }, "id": "User.MyGlobalSummonDrop" },

// Summon the MRU window. If the window is already in the foreground, do nothing.
{ "command": { "action": "globalSummon", "toggleVisibility": false }, "id": "User.MyGlobalSummonIfNotVisible" },

// Summon the window named "_quake". If no window with that name exists, then create a new window.
{ "command": { "action": "globalSummon", "name": "_quake" }, "id": "User.MyGlobalSummonQuake" }

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:

{
"id": "User.MySummonQuake",
"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

ID padrão:

{ "command": "quakeMode", "id": "Terminal.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. Essas ações não são compatíveis com IDs.

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 seu arquivo settings.json.

{
    "keybindings": [
        { "id": "unbound", "keys": "alt+shift+-" },
        { "id": "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 "id" 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.

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

Cenário de caso de uso:

O Terminal do Windows usa a associação de tecla de atalho Ctrl+V como o comando de colagem. 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.