Partilhar via


Ações personalizadas e ligações de teclas no Terminal do Windows

Você pode criar ações personalizadas dentro do Terminal do Windows que lhe dão controle de como você interage 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 a tecla 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 usa a tecla de atalho Ctrl+Shift+1 para abrir uma nova guia no terminal com base no perfil 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 abrir wt 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 seguintes propriedades.

Command

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

Nome da propriedade:command

Necessidade: Necessário

Aceita: String

Ação

Isso adiciona funcionalidade adicional a determinados comandos.

Nome da propriedade:action

Necessidade: Opcional

Aceita: String

Nome

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

Nome da propriedade:name

Necessidade: Opcional

Aceita: String

Ícone

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

Nome da propriedade:icon

Necessidade: Opcional

Aceita: Local do arquivo como uma cadeia de caracteres ou um emoji

Observação

A partir do Terminal do Windows 1.24, icon pode referir-se ao conteúdo adjacente ao settings.json arquivo.

ID

Isso define a id dessa ação. Se um não for fornecido, o terminal gerará um ID para esta ação. O ID é usado para se referir a essa ação ao criar ligações de chave.

Nome da propriedade:id

Necessidade: Opcional

Aceita: String


Ligações de teclas

As ações podem ser atribuídas a ligações de teclas referindo-se a elas com seu ID exclusivo. 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 vinculação de teclas 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 vinculação de teclas

Keybindings são armazenados na keybindings matriz e são construídos usando as seguintes propriedades.

Keys

Isso define as combinações de teclas usadas para chamar o comando. As chaves podem ter qualquer número de modificadores com uma chave. Os modificadores e chaves aceitos estã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ário

Aceita: String ou array[string]

ID

Este é o ID da ação a ser invocada quando essa vinculação de teclas é pressionada.

Nome da propriedade:id

Necessidade: Necessário

Aceita: String


Modificadores aceitos

ctrl+, shift+, alt+, win+

Observação

Enquanto a chave é suportada Windows como um modificador, o sistema reserva a maioria das ligações de chave Win+<key> . Se o SO tiver reservado essa ligação de chave, o terminal nunca receberá essa ligação.

Teclas modificadoras

Tipo Keys
Função e teclas alfanuméricas f1-f24, a-z, 0-9
Symbols `, plus, , -=, [, ]\;',./
Teclas de seta down, left, , right, up, pagedownpageup, pgdn, pgupend,home
Teclas de ação tab, enter, , esc, escape, spacebackspace, delete, insertapp,menu
Teclas Numpad numpad_0-numpad_9, numpad0-numpad9, , numpad_add, numpad_plus, numpad_decimalnumpad_period, numpad_divide, numpad_minusnumpad_subtract,numpad_multiply
Teclas do navegador browser_back, browser_forward, browser_refresh, browser_stop, browser_search, browser_favorites, browser_home

Observação:= e plus são equivalentes. Este último não deve ser confundido com numpad_plus.


Comandos no nível do aplicativo

Desistir

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

Nome do comando:quit

ID padrão:

{ "command": "quit", "id": "Terminal.Quit" }

Fechar janela

Isso fecha a janela atual e todas as guias dentro dela. Se confirmCloseAllTabs estiver definido como true, será exibida uma caixa de diálogo de confirmação para garantir que você deseja fechar todas as 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" }

Ligação padrão:

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

Terminal do Windows confirma fechar todos os separadores

Localizar

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

Ligação padrão:

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

Encontrar correspondência de pesquisa seguinte/anterior

Isto permite-lhe navegar através das 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 Description
direction Obrigatório "next", "prev" A direção para navegar pelos resultados da pesquisa.

Abrir a lista pendente

Isso abre o menu suspenso.

Nome do comando:openNewTabDropdown

ID padrão:

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

Ligação padrão:

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

Abrir ficheiros de definiçõ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 target campo. Sem o target campo, 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" }

Ligaçõ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 Description
target Opcional "settingsFile", "defaultsFile", "settingsUI", "allFiles" O arquivo de configurações a ser aberto.

Abrir menu do sistema

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

Nome do comando:openSystemMenu

ID padrão:

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

Ligação padrão:

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

Alternar ecrã inteiro

Isso permite que você alterne entre os tamanhos de tela cheia e de janela padrão.

Nome do comando:toggleFullscreen

ID padrão

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

Ligações padrão:

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

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

Alternar sempre no modo superior

Isso permite que você alterne o estado "sempre no topo" da janela. Quando no modo "sempre no topo", a janela aparecerá na parte superior de todas as outras janelas não superiores.

Nome do comando:toggleAlwaysOnTop

ID padrão:

{ "command": "toggleAlwaysOnTop", "id": "Terminal.ToggleAlwaysOnTop" }

Enviar entrada

Envie entrada de texto arbitrária para o shell. Como exemplo, a entrada "text\n" escreverá "texto" seguido de uma nova linha para o shell.

Sequências de escape ANSI podem ser usadas, mas códigos de escape como \x1b devem 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

Ligação padrão:

Este comando não está atualmente vinculado nas configurações padrão.

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

Parâmetros

Nome Necessidade Aceita Description
input Obrigatório Cordão A entrada de texto para alimentar o shell.


Comandos de gerenciamento de guias

Fechar separador

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

Nome do comando:closeTab

Parâmetros

Nome Necessidade Aceita Description
index Opcional Número inteiro Posição da guia a ser fechada.

Fechar todos os outros separadores

Isso fecha todas as guias, exceto a de um índice. Se nenhum índice for fornecido, use o índice da guia focada.

Nome do comando:closeOtherTabs

ID padrão:

{ "command": "closeOtherTabs", "id": "Terminal.CloseOtherTabs" }

Parâmetros

Nome Necessidade Aceita Description
index Opcional Número inteiro Posição do separador a manter aberto.

Fechar separadores após o índice

Isso fecha as guias seguindo a guia em um índice. Se nenhum índice for fornecido, use o índice da guia focada.

Nome do comando:closeTabsAfter

ID padrão:

{ "command": "closeTabsAfter", "id": "Terminal.CloseTabsAfter" }

Parâmetros

Nome Necessidade Aceita Description
index Opcional Número inteiro Posição do último separador a manter aberto.

Guia Duplicar

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

Nome do comando:duplicateTab

ID padrão:

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

Ligação padrão:

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

Novo separador

Isso cria uma nova guia. Sem argumentos, isso abrirá o perfil padrão 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 for 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" }

Ligaçõ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 Description
commandline Opcional Nome do arquivo executável como uma cadeia de caracteres Executável executado dentro da guia.
startingDirectory Opcional Local da pasta como uma cadeia de caracteres Diretório no qual a guia será aberta.
elevate Opcional true, false, null Substitui a elevate propriedade do perfil. Quando omitida, essa ação se comportará de acordo com a configuração do elevate perfil. Quando definido como true ou false, essa ação se comportará como se o perfil tivesse sido definido com "elevate": true ou "elevate": false (respectivamente).
tabTitle Opcional Cordão Título do novo separador.
index Opcional Número inteiro Perfil que será aberto com base na sua posição na lista suspensa (a partir de 0).
profile Opcional Nome do perfil ou GUID como uma cadeia de caracteres Perfil que será aberto com base em seu GUID ou nome.
colorScheme Opcional O nome de um esquema de cores como uma cadeia de caracteres O esquema a ser usado em vez do conjunto do perfil colorScheme
suppressApplicationTitle Opcional true, false Quando definido como false, os aplicativos podem alterar o título da guia enviando mensagens de alteração de título. Quando definido como true, essas mensagens são suprimidas. Se não for fornecido, o comportamento será herdado das configurações do perfil. Para inserir um novo título de guia e fazer com que esse título persista, isso deve ser definido como true.

Abrir separador seguinte

Isso abre a guia à direita da atual.

Nome do comando:nextTab

ID padrão:

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

Ligação padrão:

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

Parâmetros

Nome Necessidade Aceita Description
tabSwitcherMode Opcional "mru", "inOrder", "disabled" Vá para a próxima guia usando "tabSwitcherMode". Se nenhum modo for fornecido, use o globalmente definido.

Abrir separador anterior

Isso abre a guia à esquerda da atual.

Nome do comando:prevTab

ID padrão:

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

Ligação padrão:

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

Parâmetros

Nome Necessidade Aceita Description
tabSwitcherMode Opcional "mru", "inOrder", "disabled" Mover para o separador anterior utilizando "tabSwitcherMode". Se nenhum modo for fornecido, use o globalmente definido.

Isso abre a caixa de pesquisa da guia.

Nome do comando:tabSearch

Ligação padrão:

Este comando não está atualmente vinculado nas configurações padrão.

{"command": "tabSearch"}

Pesquisa do separador Terminal do Windows

Abrir um separador específico

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

Ligaçõ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 Description
index Obrigatório Número inteiro Tab que será aberto com base em sua posição na barra de guias (começando em 0).

Guia Renomear

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

Nome do comando:renameTab

Ligação padrão:

Este comando não está atualmente vinculado nas 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 Description
title Opcional Cordão O novo título a ser usado para esta guia. Se omitido, este comando reverterá o título da guia de volta ao seu valor original.

Abrir separador renomear caixa de texto

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

Nome do comando:openTabRenamer

ID padrão:

{ "command": "openTabRenamer", "id": "Terminal.OpenTabRenamer" }

Alterar a cor do separador

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

Nome do comando:setTabColor

Ligação padrão:

Este comando não está atualmente vinculado nas 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 Description
color Opcional String, em formato hexadecimal: "#rgb" ou "#rrggbb" A nova cor a ser usada para esta guia. Se omitido, esse comando reverterá a cor da guia de volta ao seu valor original.

Abrir seletor de cores de tabulação

Este comando pode ser usado para abrir o seletor de cores para a guia ativa. O seletor de cores pode ser usado para definir uma cor para a guia em tempo de execução.

Nome do comando:openTabColorPicker

ID padrão:

{ "command": "openTabColorPicker", "id": "Terminal.OpenTabColorPicker" }

Separador Mover

Este comando move a guia "para trás" e "para frente", 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 Description
direction Obrigatório "backward", "forward" Direção na qual a guia se moverá.
window Opcional Um ID de janela Veja abaixo

window é opcional e segue o mesmo formato do --window-id argumento para a linha de wt.exe comando. Se for omitido, isso moverá a guia dentro da janela atual. Se fornecido, pode ser o ID inteiro de uma janela ou o nome de uma janela. Aceita ainda os seguintes valores reservados:

  • "new" ou -1: Sempre execute este comando em uma nova janela
  • "last" ou 0: Sempre execute este comando na janela usada mais recentemente

Se não existir nenhuma janela com o ID fornecido window , então uma nova janela será criada com esse id/nome.

Entrada de transmissão

Este comando irá alternar "modo de transmissão" para um painel. Quando o modo de difusão estiver ativado, 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 "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

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

Nome do comando:showContextMenu

ID padrão:

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

Abrir a caixa de diálogo sobre

Este comando abrirá a caixa de diálogo sobre para o terminal. Esta 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

Esta funcionalidade só está disponível na Pré-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 queryUrl parâmetro não for fornecido, a searchWebDefaultQueryUrl configuração será usada. Se o queryUrl parâmetro for fornecido, a %s na cadeia de caracteres será substituída pelo texto selecionado.

Nome do comando:searchWeb

ID padrão:

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

Parâmetros

Nome Necessidade Aceita Description
queryUrl Obrigatório Cordão URL a utilizar para pesquisar. A %s nesta cadeia de caracteres será substituído pelo texto selecionado. Se omitido, o padrão será a searchWebDefaultQueryUrl configuração.

Importante

Esta funcionalidade só está disponível na Pré-visualização do Terminal do Windows.



Comandos de gerenciamento de janelas

Nova janela

Isso cria uma nova janela. Sem quaisquer argumentos, isso abrirá 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" },

Ligação padrão:

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

Parâmetros

Nome Necessidade Aceita Description
commandline Opcional Nome do arquivo executável como uma cadeia de caracteres Executável executado dentro da guia.
startingDirectory Opcional Local da pasta como uma cadeia de caracteres Diretório no qual a janela será aberta.
tabTitle Opcional Cordão Título do separador da janela.
index Opcional Número inteiro Perfil que será aberto com base na sua posição na lista suspensa (a partir de 0).
profile Opcional Nome do perfil ou GUID como uma cadeia de caracteres Perfil que será aberto com base em seu GUID ou nome.
suppressApplicationTitle Opcional true, false Quando definido como false permite que os aplicativos alterem o título da guia enviando mensagens de alteração de título. Quando definido para true suprimir essas mensagens. Se não for fornecido, o comportamento será herdado das configurações de perfil.

Janela Renomear

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

Nome do comando:renameWindow

Ligação padrão:

Este comando não está atualmente vinculado nas 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 Description
name Opcional Cordão O novo nome a ser usado para esta janela. Se omitido, este comando reverterá o nome da janela de volta ao seu valor original.

Caixa de diálogo de renomeação de janela aberta

Este comando altera exibe uma janela pop-up que permite editar 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" }

Janela Identificar

Isso exibe uma sobreposição na janela focada que exibe o nome e o índice da janela.

Nome do comando:identifyWindow

ID padrão:

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

Identificar janelas

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

Nome do comando:identifyWindows

Ligação padrão:

Este comando não está atualmente vinculado nas configurações padrão.

{ "command": "identifyWindows" },


Comandos de gerenciamento de painel

Dividir um painel

Isso reduz pela metade o tamanho do painel ativo e abre outro. Sem argumentos, isso abrirá o perfil padrão 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" }

Ligaçõ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 Description
split Obrigatório "vertical", "horizontal", "auto", "up", "right", "down", "left" Como o painel será dividido. "auto" irá dividir-se na direção que fornece a maior área de superfície.
commandline Opcional Nome do arquivo executável como uma cadeia de caracteres Executável executado dentro do painel.
startingDirectory Opcional Local da pasta como uma cadeia de caracteres Diretório no qual o painel será aberto.
elevate Opcional true, false, null Substitui a elevate propriedade do perfil. Quando omitida, essa ação se comportará de acordo com a configuração do elevate perfil. Quando definido como true ou false, essa ação se comportará como se o perfil tivesse sido definido com "elevate": true ou "elevate": false (respectivamente).
tabTitle Opcional Cordão Título da guia quando o novo painel estiver focado.
index Opcional Número inteiro Perfil que será aberto com base na sua posição na lista suspensa (a partir de 0).
profile Opcional Nome do perfil ou GUID como uma cadeia de caracteres Perfil que será aberto com base em seu GUID ou nome.
colorScheme Opcional O nome de um esquema de cores como uma cadeia de caracteres O esquema a ser usado em vez do conjunto do perfil colorScheme
suppressApplicationTitle Opcional true, false Quando definido como false, os aplicativos podem alterar o título da guia enviando mensagens de alteração de título. Quando definido como true, essas mensagens são suprimidas. Se não for fornecido, o comportamento será herdado das configurações do perfil.
splitMode Opcional "duplicate" Controla como o painel se divide. Só aceita "duplicate", que duplicará o perfil do painel focado em um novo painel.
size Opcional Flutuar Especifique o tamanho do novo painel, como uma fração do tamanho do painel atual. 1.0 seria "todo o painel atual" e 0.0 é "Nenhum dos pais". O padrão é 0.5.

Fechar painel

Isso fecha o painel ativo. Se não houver painéis divididos, isso fechará a guia atual. Se houver apenas uma guia aberta, isso fechará a janela.

Nome do comando:closePane

ID padrão:

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

Ligação padrão:

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

Mover o foco do painel

Isso muda o foco para um painel diferente, dependendo da direção. Definir o para "previous" moverá o direction 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" }

Ligaçõ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 Description
direction Obrigatório "left", "right", , "up", "down", "previous""previousInOrder", "nextInOrder", "first""parent","child" Direção em que o foco se moverá.

Valores aceites direction

  • up, down, left, ou right mova o foco na direção dada.
  • first Move o foco para o primeiro painel de folhas na árvore.
  • previous Move o foco para o painel usado mais recentemente antes do painel atual.
  • nextInOrder, previousInOrder move o foco para o painel seguinte ou anterior por 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 de uma só vez
  • child move o foco para o primeiro painel filho deste painel.

Painel Mover

Mova o painel atualmente ativo 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 Description
index Obrigatório número O índice indexado zero da guia para a qual mover

Painéis de permuta

Troque a posição de dois painéis em uma guia. Isso opera no painel ativo e em um painel de destino, conforme designado pelo direction parâmetro.

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 Description
direction Obrigatório "left", "right", , "up", "down", "previous""previousInOrder", "nextInOrder", "first""parent","child" Direção em que o foco se moverá.

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

  • up, down, left, ou right: Troque o painel ativo pelo painel na direção dada.
  • first: Troque o painel ativo pelo primeiro painel de folha na árvore.
  • previous: Troque o painel ativo pelo painel usado mais recentemente antes do painel atual.
  • nextInOrder, previousInOrder: Troque o painel ativo pelo painel seguinte ou anterior por ordem de criação.
  • parent: Não faz nada.
  • child: Não faz nada.

Ampliar um painel

Isso expande o painel focado para preencher todo o conteúdo da janela.

Nome do comando:togglePaneZoom

ID padrão:

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

Zoom do painel de alternância do Terminal do Windows

Redimensionar um painel

Isso altera o tamanho 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" }

Ligaçõ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 Description
direction Obrigatório "left", "right", "up", "down" Direção em que o painel será redimensionado.

Marcar um painel como somente leitura

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

Nome do comando:toggleReadOnlyMode

ID padrão:

{ "command": "toggleReadOnlyMode", "id": "Terminal.ToggleReadOnlyMode" }

Você pode habilitar o modo somente leitura em um painel. Isso funciona de forma semelhante à alternância, no entanto, não mudará de estado se acionado novamente.

Nome do comando:enableReadOnlyMode

ID padrão:

{ "command": "enableReadOnlyMode", "id": "Terminal.EnableReadOnlyMode" }

Você pode desativar o modo somente leitura em um painel. Isso funciona de forma semelhante à alternância, no entanto, não mudará de estado se acionado novamente.

Nome do comando:disableReadOnlyMode

ID padrão:

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

Reiniciar um painel

Este comando irá reiniciar manualmente o commandline no painel ativo. Isso é especialmente útil para cenários como ssh, onde você pode querer 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

Copy

Isso copia o conteúdo do terminal selecionado para a área de transferência. Se não houver seleção, o acorde da tecla é enviado diretamente para o terminal.

Nome do comando:copy

ID padrão:

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

Ligaçõ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 Description
singleLine Opcional true, false Quando true, o conteúdo copiado será copiado como uma única linha. Quando false, novas linhas persistem a partir do texto selecionado.
withControlSequences Opcional true, false Quando true, o conteúdo copiado conterá sequências de controle de código de escape ANSI que representam o estilo do conteúdo. Quando false, apenas o texto simples será copiado.
copyFormatting Opcional true, false, "all", "none", "html", "rtf" Quando true, a cor e a formatação da fonte do texto selecionado também são copiadas para a área de transferência. Quando falseo , apenas texto sem formatação é copiado para a área de transferência. Você também pode especificar quais formatos deseja copiar. Quando null, o comportamento global "copyFormatting" é herdado.

Colar

Isso insere o conteúdo que foi copiado na área de transferência.

Nome do comando:paste

ID padrão:

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

Ligaçõ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 existir uma seleção, isso expande a seleção para abranger totalmente quaisquer 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" }

Ligação padrão:

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

Modo de marcação

Isso alterna o modo de marcação. O modo de marcação é um modo onde 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" }

Ligação padrão:

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

Marcador de seleção de interruptor

Ao modificar uma seleção usando o teclado, você está movendo uma extremidade da seleção ao redor. Você pode 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 a seleção de blocos

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

Nome do comando:toggleBlockSelection

ID padrão:

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


Comandos de rolagem

Deslocar para cima

Isso rola a tela para cima pelo número de linhas definidas por "rowsToScroll". Se "rowsToScroll" não for fornecido, ele irá rolar para cima a quantidade definida pelo padrão do sistema, que é a mesma quantidade que a rolagem do mouse.

Nome do comando:scrollUp

ID padrão:

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

Ligação padrão:

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

Parâmetros

Nome Necessidade Aceita Description
rowsToScroll Opcional Número inteiro O número de linhas a serem roladas.

Deslizar para baixo

Isso rola a tela para baixo pelo número de linhas definidas por "rowsToScroll". Se "rowsToScroll" não for fornecido, ele rolará para baixo a quantidade definida pelo padrão do sistema, que é a mesma quantidade que a rolagem do mouse.

Nome do comando:scrollDown

ID padrão:

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

Ligação padrão:

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

Parâmetros

Nome Necessidade Aceita Description
rowsToScroll Opcional Número inteiro O número de linhas a serem roladas.

Deslocar uma página inteira para cima

Isso rola a tela para cima por uma página inteira, que é a altura da janela.

Nome do comando:scrollUpPage

ID padrão:

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

Ligação padrão:

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

Rolar uma página inteira para baixo

Isso rola a tela para baixo por uma página inteira, que é a altura da janela.

Nome do comando:scrollDownPage

ID padrão:

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

Ligação padrão:

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

Role até a história mais antiga

Isso rola a tela até a parte superior do buffer de entrada.

Nome do comando:scrollToTop

ID padrão:

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

Ligação padrão:

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

Desloque-se para a história mais recente

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

Ligação padrão:

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

Limpar buffer

Esta ação pode ser usada para limpar manualmente o buffer do terminal. Isso é útil para cenários em que você não está sentado em um prompt de shell de linha de comando e não pode ser executado Clear-Host//clsclearfacilmente.

Nome do comando:clearBuffer

ID padrão:

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

Parâmetros

Nome Necessidade Aceita Description
clear Opcional "screen", "scrollback", "all" Que parte do ecrã limpar.
  • "screen": Limpe o conteúdo da porta de visualização do terminal. Deixa o scrollback intocado. Move a linha do cursor para a parte superior da janela de visualização (sem modificações).
  • "scrollback": Limpe o scrollback. Deixa o visor intacto.
  • "all" (padrão): limpe o scrollback e o visor visível. Move a linha do cursor para a parte superior da janela de visualização.

___

Comandos de ajuste visual

Ajustar o tamanho do tipo de letra

Isso altera o tamanho do texto em uma quantidade de pontos especificada.

Nome do comando:adjustFontSize

IDs padrão:

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

Ligaçõ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 Description
delta Obrigatório Número inteiro Quantidade de alteração de tamanho por chamada de comando.

Redefinir o tamanho da fonte

Isso redefine o tamanho do texto para o valor padrão.

Nome do comando:resetFontSize

ID padrão:

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

Ligações padrão:

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

Ajustar a opacidade

Isso altera a opacidade da janela. Se relative estiver definido como true, ajustará a opacidade em relação à opacidade atual. Caso contrário, ele definirá a opacidade diretamente para o dado opacity

Nome do comando:adjustOpacity

Ligaçõ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 Description
opacity Opcional Número inteiro Quão opaco o terminal deve se tornar ou quanto a opacidade deve ser alterada, dependendo do valor de relative
relative Opcional booleano Se verdadeiro, ajuste a opacidade atual pelo parâmetro fornecido opacity . Se false, defina a opacidade exatamente para esse valor.

Alternar efeitos de sombreador de pixel

Isso alterna todos os efeitos de sombreador de pixel habilitados no terminal. Se o usuário especificou um sombreador válido com experimental.pixelShaderPath, essa ação ativará/desativará esse sombreador. Isso também alternará o "efeito terminal retro", que é ativado com a configuração experimental.retroTerminalEffectde perfil.

Nome do comando:toggleShaderEffects

ID padrão:

{ "command": "toggleShaderEffects", "id": "Terminal.ToggleShaderEffects" }

Atenção

A toggleRetroEffect ação não está mais disponível nas versões 1.6 e posteriores. Recomenda-se que utilize em vez disso toggleShaderEffects .

Definir o esquema de cores

Altera o esquema de cores ativo.

Nome do comando:setColorScheme

Parâmetros

Nome Necessidade Aceita Description
colorScheme Obrigatório Cordão O name do esquema de cores a aplicar.

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 na seleção, caso contrário, será colocada na linha do cursor.

Nome do comando:addMark

Parâmetros

Nome Necessidade Aceita Description
color Opcional String, em formato hexadecimal: "#rgb" ou "#rrggbb" A cor da marca.

Exemplo de declaração:

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

Importante

Esta ação tornou-se estável na v1.21. Antes dessa versão, ele só estava disponível no Windows Terminal Preview

Desloque-se para marcar

Rola até a marca de rolagem na direção dada. Para saber mais, veja Marcas de rolagem e Integração com shell.

Nome do comando:scrollToMark

Parâmetros

Nome Necessidade Aceita Description
direction Obrigatório "first", "previous", "next", "last" A direção na qual rolar.

Exemplo de declaração:

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

Importante

Esta ação tornou-se estável na v1.21. Antes dessa versão, ele só estava disponível no Windows Terminal Preview

Marca clara

Limpa a marca de rolagem na posição atual, seja em uma seleção, se houver, ou na posição do cursor. Trata-se de uma característica experimental e a sua existência não está garantida.

Nome do comando:clearMark

Exemplo de declaração:

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

Importante

Esta ação tornou-se estável na v1.21. Antes dessa versão, ele só estava disponível no Windows Terminal Preview

Limpar todas as marcas

Limpa todas as marcas de rolagem no buffer de texto. Trata-se de uma característica experimental e a sua existência não está garantida.

Nome do comando:clearAllMarks

Exemplo de declaração:

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

Importante

Esta ação tornou-se estável na v1.21. Antes dessa versão, ele só estava disponível no Windows Terminal Preview


___

Suggestions

Abrir 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 source propriedade. O menu de sugestões se comporta muito 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 UI

Nome do comando:showSuggestions

Parâmetros

Nome Necessidade Aceita Description
source Obrigatório qualquer número de "recentCommands", "tasks"ou "all" Quais fontes de sugestão usar para preencher este menu. Veja abaixo uma descrição de cada um.
useCommandline Opcional booleano 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. O padrão é true

Fontes de sugestões

As seguintes fontes de sugestões são suportadas:

  • "recentCommands": Isso preencherá o menu de sugestões com os comandos usados mais recentemente. Eles são alimentados pela integração do shell, portanto, eles só estarão disponíveis se você tiver seu shell configurado para suportar a integração do shell. Consulte Integração de shell para obter mais informações.
  • "tasks": Isso preencherá o menu de sugestões com todas as ações de sendInput suas configurações.
  • "all": Use todas as fontes de sugestões.

Esses valores podem ser usados por si mesmos 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 comandos recentes.

Importante

Esta funcionalidade só está disponível na Pré-visualização do Terminal do Windows.


___

Exportação de buffer

Buffer de exportação

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, seu conteúdo 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 Description
path Opcional Cordão Se fornecido, o Terminal exportará o conteúdo do buffer para o arquivo fornecido. Caso contrário, o terminal abrirá um seletor de arquivos para escolher o arquivo para o qual exportar.

___

Comandos globais

Convocatória global

Esta é uma ação especial que funciona globalmente no sistema operacional, em vez de apenas no contexto da janela do terminal. Quando pressionada, esta ação convocará a janela do terminal. Qual janela é convocada, para onde a janela é convocada e como a janela se comporta ao convocá-la, é controlada pelas propriedades nesta ação.

Notes

  • Quaisquer teclas ligadas a globalSummon ações no terminal não funcionarão em outros aplicativos enquanto o terminal estiver em execução - eles sempre focarão a janela do terminal.

  • Se outro aplicativo em execução já estiver registrado para o dado keys usando a RegisterHotKey API, o terminal será incapaz de ouvir essas teclas pressionadas.

  • Instâncias elevadas e não elevadas do terminal não poderão se registrar para as mesmas chaves. O mesmo se aplica às versões Preview e Stable do terminal - a primeira a ser lançada sempre vencerá.

  • Essas teclas pressionadas só funcionarão quando uma instância do terminal já estiver em execução. Para iniciar o terminal automaticamente ao iniciar sessão, consulte startOnUserLogin.

Nome do comando:globalSummon

Ligação padrão:

Este comando não está atualmente vinculado nas configurações padrão.

{ "command": { "action": "globalSummon" } }

Parâmetros

Nome Necessidade Aceita Description
desktop Opcional any, toCurrent, onCurrent Isso controla como o terminal deve interagir com áreas de trabalho virtuais.
  • "any": Deixe a janela na área de trabalho em que ela já estiver - alternará para essa área de trabalho à medida que a janela for ativada.
  • "toCurrent" (padrão): mova a janela para a área de trabalho virtual atual.
  • "onCurrent": Só chame a janela se ela já estiver na área de trabalho virtual atual.
monitor Opcional any, toCurrent, toMouse Isso controla o monitor que a janela será convocada de/para.
  • "any": Convoque a janela usada mais recentemente, independentemente do monitor em que ela está no momento.
  • "toCurrent": Chame a janela usada mais recentemente para o monitor com a janela de primeiro plano atual.
  • "toMouse" (padrão): chame a janela usada mais recentemente para o monitor onde está o cursor do mouse.
name Opcional Cordão Quando omitido (padrão), use monitor e desktop encontre a janela apropriada usada mais recentemente para convocar. Quando fornecido, chame a janela cujo nome ou ID corresponde ao valor fornecido name . Se essa janela não existir, crie uma nova janela com esse nome.
dropdownDuration Opcional Número inteiro O padrão é 0. Quando receber um número positivo, "deslize" a janela a partir da parte superior da tela usando uma animação que dura milissegundos dropdownDuration . 200 é um valor razoável para essa configuração.
toggleVisibility Opcional true, false O padrão é true. Quando true, pressionar as teclas atribuídas para esta ação irá descartar (minimizar) a janela quando a janela é atualmente a janela de primeiro plano. Quando false, pressionar as teclas atribuídas só trará a janela para o primeiro plano.

Quando name é fornecido commonitor ou desktop, name comporta-se das seguintes maneiras:

  • desktop
    • "any": Vá para a área de trabalho a janela fornecida já está ligada.
    • "toCurrent": Se a janela estiver em outra área de trabalho virtual, mova-a para a ativa no momento.
    • "onCurrent": Se a janela estiver em outra área de trabalho virtual, mova-a para a ativa no momento.
  • monitor
    • "any": Deixe a janela no monitor em que ele já está ligado.
    • "toCurrent": Se a janela estiver em outro monitor, mova-a para o monitor com a janela de primeiro plano atual.
    • "toMouse": Se a janela estiver em outro monitor, mova-a para o monitor com o cursor do mouse sobre ele.

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

Combinações "desktop": "any" "desktop": "toCurrent" "desktop": "onCurrent" Não incluído
"monitor": "any" Vá para a área de trabalho em que a janela está ligada (deixe a posição em paz) Mover a janela para este ambiente de trabalho (deixar a posição em paz) Se não houver um nesta área de trabalho:
  • Criar um novo na posição padrão
Senão:
  • Ative o deste ambiente de trabalho (não o mova)
Convocar a janela MRU
"monitor": "toCurrent" Vá para a área de trabalho em que a janela está ligada, mova para o monitor com a janela de primeiro plano Mova a janela para este ambiente de trabalho, mova para o monitor com a janela de primeiro plano Se não houver um nesta área de trabalho:
  • Criar um novo
Senão:
  • Ative o deste ambiente de trabalho, mova para o monitor com a janela de primeiro plano
Chame a janela MRU PARA o monitor com a janela de primeiro plano
"monitor": "toMouse" Vá para a área de trabalho em que a janela está ligada, mova para o monitor com o mouse Mova a janela para este ambiente de trabalho, mova para o monitor com o rato Se não houver um nesta área de trabalho:
  • Criar um novo
Senão:
  • Ative o deste ambiente de trabalho, mova para o monitor com o rato
Chame a janela MRU para o monitor com o mouse
Não incluído Deixe onde está Mover para o ambiente de trabalho atual Apenas na área de trabalho atual N/A

Examples


// 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 do modo sismo

Esta ação é uma variação especial da globalSummon ação. Ele convoca especificamente a janela do terremoto. É uma abreviatura para a seguinte globalSummon ação:

{
"id": "User.MySummonQuake",
"command": {
"action": "globalSummon",
"name": "_quake",
"dropdownDuration": 200,
"toggleVisibility": true,
"monitor": "toMouse",
"desktop": "toCurrent"
}
}

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

Nome do comando:quakeMode

ID padrão:

{ "command": "quakeMode", "id": "Terminal.QuakeMode" }

Modo de terremoto do Terminal do Windows



Executar várias ações

Essa ação permite que o usuário vincule várias ações sequenciais a um comando. Essas ações não suportam IDs.

Nome do comando:multipleActions

Parâmetros

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

Example

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


Desvincular chaves (desativar ligações de teclas)

Você pode desativar as ligações de teclas ou "desvincular" as chaves associadas de qualquer comando. Isso pode ser necessário ao usar aplicativos de terminal subjacentes (como o VIM). A chave não acoplada passará para o terminal subjacente.

Nome do comando:unbound

Exemplo usando unbound:

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

{
    "keybindings": [
        { "id": "unbound", "keys": "alt+shift+-" },
        { "id": "unbound", "keys": "alt+shift+=" }
    ]
}

Exemplo usando null:

Você também pode desvincular um pressionamento de tecla vinculado por padrão a uma ação definindo "id" como null. Isso também permitirá que o pressionamento de tecla seja associado à configuração do 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 tecla de atalho que vincula Ctrl+V como o comando colar. Ao trabalhar com uma linha de comando WSL, você pode querer usar um aplicativo Linux como o Vim para editar arquivos. No entanto, o Vim depende da ligação de teclas Ctrl+V para usar o modo Visual em bloco. Essa vinculação de chave será bloqueada, com o comando de colar do Terminal do Windows tendo prioridade, a menos que a configuração seja ajustada unbound no arquivo settings.json para que a vinculação de chave seja associada ao aplicativo de linha de comando Vim, em vez de à vinculação do Terminal do Windows.