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 , pagedown end pageup pgdn pgup ,home |
Teclas de ação | tab , enter , esc , escape , space app backspace delete insert ,menu |
Teclas do teclado numérico | numpad_0-numpad_9 , numpad0-numpad9 , numpad_add , numpad_plus , numpad_decimal numpad_subtract numpad_period numpad_divide numpad_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" }
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. |
Pesquisa de guias
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"}
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"
ou0
: 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" }
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
ouright
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 tempochild
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
ouright
: 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" }
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.
|
___
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.
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 desendInput
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 APIRegisterHotKey
, 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.
|
monitor |
Opcional | any , toCurrent , toMouse |
Isso controla o monitor do/para o qual a janela será convocada.
|
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:
|
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:
|
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:
|
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" }
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.
Windows Terminal