Udostępnij przez


Niestandardowe akcje i powiązania kluczy w terminalu systemu Windows

Możesz utworzyć akcje niestandardowe w terminalu systemu Windows, które zapewniają kontrolę nad sposobem interakcji z terminalem. Te akcje zostaną automatycznie dodane do palety poleceń.

Formaty akcji

Akcje mogą być ustrukturyzowane w następujących formatach:

Polecenia bez argumentów

{ "command": "commandName", "id": "User.MyCommand" }

Na przykład to ustawienie domyślne używa skrótu Alt+F4 , aby zamknąć okno terminalu:

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

Polecenia z argumentami

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

Na przykład to ustawienie domyślne używa skrótu Ctrl+Shift+1 , aby otworzyć nową kartę w terminalu w oparciu o dowolny profil wymieniony jako pierwszy w menu rozwijanym (zazwyczaj spowoduje to otwarcie profilu programu PowerShell):

{ "command": { "action": "newTab", "index": 0 }, "id": "User.MyNewTabAction" }

Polecenia z argumentami wiersza polecenia

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

Na przykład to ustawienie domyślne używa skrótu Ctrl+Shift+O do wt otwierania nowej karty programu PowerShell z dodatkowymi okienkami wiersza polecenia i 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"
}

Właściwości akcji

Akcje są przechowywane w tablicy actions i mogą być konstruowane przy użyciu następujących właściwości.

Command

Jest to polecenie wykonywane po naciśnięciu skojarzonych.

Nazwa właściwości:command

Konieczność: Wymagane

Akceptuje: Struna

Akcja

Spowoduje to dodanie dodatkowych funkcji do niektórych poleceń.

Nazwa właściwości:action

Konieczność: Fakultatywny

Akceptuje: Struna

Name

Spowoduje to ustawienie nazwy, która będzie wyświetlana na palecie poleceń. Jeśli nie zostanie podany, terminal podejmie próbę automatycznego wygenerowania nazwy.

Nazwa właściwości:name

Konieczność: opcjonalne

Akceptuje: Struna

Icon

Spowoduje to ustawienie ikony wyświetlanej w palecie poleceń.

Nazwa właściwości:icon

Konieczność: Fakultatywny

Akceptuje: Lokalizacja pliku jako ciąg lub emoji

Uwaga / Notatka

W terminalu systemu Windows 1.24 icon może odnosić się do zawartości sąsiadującej z plikiem settings.json .

identyfikator

Spowoduje to ustawienie identyfikatora tej akcji. Jeśli go nie podano, terminal wygeneruje identyfikator dla tej akcji. Identyfikator służy do odwoływania się do tej akcji podczas tworzenia powiązania kluczy.

Nazwa właściwości:id

Konieczność: opcjonalne

Akceptuje: Struna


Powiązania kluczy

Do akcji można przypisać powiązania kluczy, odwołując się do nich za pomocą ich unikatowego identyfikatora. Na przykład poniżej znajduje się możliwa keybindings tablica, która przypisuje Alt+F4, Ctrl+Shift+1 i Ctrl+Shift+o do akcji zdefiniowanych powyżej. Dla tej samej akcji można utworzyć wiele wpisów powiązania kluczy.

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

Właściwości powiązania kluczy

Powiązania kluczy są przechowywane w tablicy keybindings i są konstruowane przy użyciu następujących właściwości.

Keys

Definiuje kombinacje używane do wywoływania polecenia. Klucze mogą mieć dowolną liczbę modyfikatorów z jednym kluczem. Poniżej wymieniono zaakceptowane modyfikatory i klucze.

Jeśli akcja nie ma, pojawi się na palecie poleceń, ale nie można jej wywołać za pomocą klawiatury.

Nazwa właściwości:keys

Konieczność: Wymagane

Akceptuje: Ciąg lub tablica[ciąg]

identyfikator

Jest to identyfikator akcji, która ma być wywoływana po naciśnięciu tego powiązania.

Nazwa właściwości:id

Konieczność: Wymagane

Akceptuje: Struna


Zaakceptowane modyfikatory

ctrl+, , shift+, , alt+win+

Uwaga / Notatka

Windows Chociaż klucz jest obsługiwany jako modyfikator, system rezerwuje większość powiązań kluczy Win+<key>. Jeśli system operacyjny zarezerwował to powiązanie klucza, terminal nigdy nie otrzyma tego powiązania.

Klucze modyfikatora

Typ Keys
Klucze funkcji i alfanumeryczne f1-f24 a-z, 0-9
Symbols `, plus, , , -=[]\;',./
strzałek down, left, , , rightuppagedownpageuppgdnpgupendhome
Klucze akcji tab, enter, , , escescapespacebackspacedeleteinsertappmenu
Klucze numeryczne numpad_0-numpad_9, numpad0-numpad9, , , numpad_addnumpad_plusnumpad_decimalnumpad_periodnumpad_dividenumpad_minusnumpad_subtractnumpad_multiply
Klucze przeglądarki browser_back, browser_forward, , browser_refresh, browser_stop, browser_search, , browser_favoritesbrowser_home

Nuta:= i plus są odpowiednikami. Ten ostatni nie może być mylony z numpad_plus.


Polecenia na poziomie aplikacji

Kończyć

Spowoduje to zamknięcie wszystkich otwartych okien terminalu. W bieżącym oknie zostanie wyświetlone okno dialogowe potwierdzenia, aby upewnić się, że chcesz zamknąć wszystkie okna.

Nazwa polecenia:quit

Identyfikator domyślny:

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

Zamknij okno

Spowoduje to zamknięcie bieżącego okna i wszystkich kart w nim. Jeśli confirmCloseAllTabs ustawiono wartość true, zostanie wyświetlone okno dialogowe potwierdzenia, aby upewnić się, że chcesz zamknąć wszystkie karty. Więcej informacji na temat tego ustawienia można znaleźć na stronie Wygląd.

Nazwa polecenia:closeWindow

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Terminal systemu Windows potwierdza zamknięcie wszystkich kart

Znajdź

Spowoduje to otwarcie okna dialogowego wyszukiwania. Więcej informacji na temat wyszukiwania można znaleźć na stronie Wyszukiwanie.

Nazwa polecenia:find

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Znajdowanie następnego/poprzedniego dopasowania wyszukiwania

Umożliwia to nawigowanie po dopasowaniach wyszukiwania.

Nazwa polecenia:findMatch

Domyślne identyfikatory:

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

Parametry

Name Konieczność Akceptuje Description
direction Wymagane "next", "prev" Kierunek nawigowania po wynikach wyszukiwania.

Otwórz listę rozwijaną

Spowoduje to otwarcie menu rozwijanego.

Nazwa polecenia:openNewTabDropdown

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Otwieranie plików ustawień

Spowoduje to otwarcie interfejsu użytkownika ustawień, pliku ustawień niestandardowych () lub pliku ustawień domyślnych () wsettings.jsondefaults.json zależności od target pola. target Bez pola zostanie otwarty plik ustawień niestandardowych.

Nazwa polecenia:openSettings

Domyślne identyfikatory:

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

Powiązania domyślne:

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

Parametry

Name Konieczność Akceptuje Description
target Opcjonalnie "settingsFile", , "defaultsFile", , "settingsUI""allFiles" Plik ustawień do otwarcia.

Otwórz menu systemowe

Otwiera menu systemowe w lewym górnym rogu okna.

Nazwa polecenia:openSystemMenu

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Przełącz pełny ekran

Dzięki temu można przełączać się między pełnym ekranem a domyślnymi rozmiarami okien.

Nazwa polecenia:toggleFullscreen

Identyfikator domyślny

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

Powiązania domyślne:

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

Przełącz tryb koncentracji uwagi

Dzięki temu można wprowadzić tryb koncentracji uwagi, który ukrywa karty i pasek tytułu.

Nazwa polecenia:toggleFocusMode

Identyfikator domyślny:

{ "command": "toggleFocusMode", "id": "Terminal.ToggleFocusMode" }

Przełączanie zawsze włączonego trybu górnego

Dzięki temu można przełączać stan "zawsze na górze" okna. Gdy w trybie "zawsze na górze", okno pojawi się na wszystkich innych oknach nienależących do góry.

Nazwa polecenia:toggleAlwaysOnTop

Identyfikator domyślny:

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

Wysyłanie danych wejściowych

Wyślij dowolne wprowadzanie tekstu do powłoki. Jako przykład dane wejściowe "text\n" będą pisać "tekst", po którym następuje nowy wiersz powłoki.

Mogą być używane sekwencje ucieczki ANSI, ale kody ucieczki, takie jak \x1b muszą być zapisywane jako \u001b. Na przykład "\u001b[A" będzie zachowywać się tak, jakby przycisk strzałki w górę został naciśnięty.

Nazwa polecenia:sendInput

Powiązanie domyślne:

To polecenie nie jest obecnie powiązane w ustawieniach domyślnych.

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

Parametry

Name Konieczność Akceptuje Description
input Wymagane Sznurek Wprowadzanie tekstu do powłoki.


Polecenia zarządzania kartami

Zamknij kartę

Spowoduje to zamknięcie karty w danym indeksie. Jeśli indeks nie jest podany, użyj indeksu karty ukierunkowanej.

Nazwa polecenia:closeTab

Parametry

Name Konieczność Akceptuje Description
index Opcjonalnie Integer Położenie karty do zamknięcia.

Zamknij wszystkie inne karty

Spowoduje to zamknięcie wszystkich kart z wyjątkiem tej z indeksem. Jeśli indeks nie jest podany, użyj indeksu karty ukierunkowanej.

Nazwa polecenia:closeOtherTabs

Identyfikator domyślny:

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

Parametry

Name Konieczność Akceptuje Description
index Opcjonalnie Integer Pozycja karty, która ma być otwarta.

Zamykanie kart po indeksie

Spowoduje to zamknięcie kart znajdujących się na karcie w indeksie. Jeśli indeks nie jest podany, użyj indeksu karty ukierunkowanej.

Nazwa polecenia:closeTabsAfter

Identyfikator domyślny:

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

Parametry

Name Konieczność Akceptuje Description
index Opcjonalnie Integer Pozycja ostatniej karty, która ma być otwarta.

Zduplikowana karta

Spowoduje to utworzenie kopii profilu i katalogu bieżącej karty i otwarcie go. Nie obejmuje to zmodyfikowanych/dodanych ZMIENNYCH ENV.

Nazwa polecenia:duplicateTab

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Nowa karta

Spowoduje to utworzenie nowej karty. Bez żadnych argumentów spowoduje to otwarcie profilu domyślnego na nowej karcie. Jeśli indeks nie zostanie określony, zostanie użyte ustawienie równoważne profilu domyślnego. Jeśli indeks nie jest mapowany na profil, klucze są przekazywane bezpośrednio do terminalu (lub ignorowane, jeśli żadne klucze nie zostały użyte do wywołania akcji).

Nazwa polecenia:newTab

Domyślne identyfikatory:

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

Powiązania domyślne:

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

Parametry

Name Konieczność Akceptuje Description
commandline Opcjonalnie Nazwa pliku wykonywalnego jako ciąg Uruchamianie pliku wykonywalnego na karcie .
startingDirectory Opcjonalnie Lokalizacja folderu jako ciąg Katalog, w którym zostanie otwarta karta.
elevate Opcjonalnie true false, null elevate Zastępuje właściwość profilu. Po pominięciu ta akcja będzie działać zgodnie z ustawieniem profilu elevate . W przypadku ustawienia wartości true lub falseta akcja będzie zachowywać się tak, jakby profil został ustawiony odpowiednio na "elevate": true wartość lub "elevate": false ().
tabTitle Opcjonalnie Sznurek Tytuł nowej karty.
index Opcjonalnie Integer Profil, który zostanie otwarty na podstawie jego pozycji na liście rozwijanej (począwszy od 0).
profile Opcjonalnie Nazwa lub identyfikator GUID profilu jako ciąg Profil, który zostanie otwarty na podstawie identyfikatora GUID lub nazwy.
colorScheme Opcjonalnie Nazwa schematu kolorów jako ciąg Schemat do użycia zamiast zestawu profilu colorScheme
suppressApplicationTitle Opcjonalnie true, false W przypadku ustawienia na falsewartość aplikacje mogą zmieniać tytuł karty, wysyłając komunikaty o zmianie tytułu. Po ustawieniu wartości truena wartość te komunikaty są pomijane. Jeśli nie zostanie podana, zachowanie jest dziedziczone z ustawień profilu. Aby wprowadzić nowy tytuł karty i mieć ten tytuł trwały, musi to być ustawione na wartość true.

Otwórz następną kartę

Spowoduje to otwarcie karty po prawej stronie bieżącego.

Nazwa polecenia:nextTab

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Parametry

Name Konieczność Akceptuje Description
tabSwitcherMode Opcjonalnie "mru" "inOrder", "disabled" Przejdź do następnej karty przy użyciu polecenia "tabSwitcherMode". Jeśli nie zostanie podany żaden tryb, użyj zdefiniowanego globalnie.

Otwórz poprzednią kartę

Spowoduje to otwarcie karty po lewej stronie bieżącego.

Nazwa polecenia:prevTab

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Parametry

Name Konieczność Akceptuje Description
tabSwitcherMode Opcjonalnie "mru" "inOrder", "disabled" Przejdź do poprzedniej karty przy użyciu polecenia "tabSwitcherMode". Jeśli nie zostanie podany żaden tryb, użyj zdefiniowanego globalnie.

Spowoduje to otwarcie pola wyszukiwania karty.

Nazwa polecenia:tabSearch

Powiązanie domyślne:

To polecenie nie jest obecnie powiązane w ustawieniach domyślnych.

{"command": "tabSearch"}

Wyszukiwanie kart terminalu systemu Windows

Otwieranie konkretnej karty

Spowoduje to otwarcie konkretnej karty w zależności od indeksu.

Nazwa polecenia:switchToTab

Domyślne identyfikatory:

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

Powiązania domyślne:

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

Parametry

Name Konieczność Akceptuje Description
index Wymagane Integer Karta, która zostanie otwarta na podstawie jego pozycji na pasku karty (począwszy od 0).

Zmienianie nazwy karty

Tego polecenia można użyć do zmiany nazwy karty na określony ciąg.

Nazwa polecenia:renameTab

Powiązanie domyślne:

To polecenie nie jest obecnie powiązane w ustawieniach domyślnych.

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

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

Parametry

Name Konieczność Akceptuje Description
title Opcjonalnie Sznurek Nowy tytuł do użycia na tej karcie. Jeśli pominięto, to polecenie przywróci tytuł karty z powrotem do oryginalnej wartości.

Otwieranie pola tekstowego zmiany nazwy karty

To polecenie zmienia tytuł karty w pole tekstowe, które umożliwia edytowanie tytułu bieżącej karty. Wyczyszczenie pola tekstowego spowoduje zresetowanie tytułu karty z powrotem do wartości domyślnej dla bieżącego wystąpienia powłoki.

Nazwa polecenia:openTabRenamer

Identyfikator domyślny:

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

Zmień kolor karty

To polecenie może służyć do zmiany koloru karty na określoną wartość.

Nazwa polecenia:setTabColor

Powiązanie domyślne:

To polecenie nie jest obecnie powiązane w ustawieniach domyślnych.

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

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

Parametry

Name Konieczność Akceptuje Description
color Opcjonalnie Ciąg w formacie szesnastkowym: "#rgb" lub "#rrggbb" Nowy kolor do użycia dla tej karty. Jeśli pominięto, to polecenie przywróci kolor karty z powrotem do oryginalnej wartości.

Otwieranie selektora kolorów karty

To polecenie może służyć do otwierania selektora kolorów dla aktywnej karty. Selektor kolorów może służyć do ustawiania koloru karty w czasie wykonywania.

Nazwa polecenia:openTabColorPicker

Identyfikator domyślny:

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

Karta Przenoszenie

To polecenie przenosi kartę "wstecz" i "do przodu", która jest odpowiednikiem "lewej" i "po prawej" w interfejsie użytkownika od lewej do prawej.

Nazwa polecenia:moveTab

Domyślne identyfikatory:

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

Parametry

Name Konieczność Akceptuje Description
direction Wymagane "backward", "forward" Kierunek, w którym karta zostanie przeniesiona.
window Opcjonalnie Identyfikator okna Zobacz poniżej

window jest opcjonalny i jest zgodny z tym samym formatem --window-id co argument w wt.exe wierszu polecenia. Jeśli zostanie pominięty, spowoduje to przeniesienie karty w bieżącym oknie. W przypadku podania może to być identyfikator liczby całkowitej okna lub nazwa okna. Akceptuje również następujące zastrzeżone wartości:

  • "new" lub -1: Zawsze uruchamiaj to polecenie w nowym oknie
  • "last" lub 0: Zawsze uruchamiaj to polecenie w ostatnio używanym oknie

Jeśli żadne okno nie istnieje z danym window identyfikatorem, zostanie utworzone nowe okno z tym identyfikatorem/nazwą.

Emisja danych wejściowych

To polecenie przełączy "tryb emisji" dla okienka. Po włączeniu trybu emisji wszystkie dane wejściowe wysyłane do okienka zostaną wysłane do wszystkich okienek na tej samej karcie. Jest to przydatne w przypadku wysyłania tych samych danych wejściowych do wielu okienek jednocześnie.

Podobnie jak w przypadku dowolnej akcji, możesz również wywołać tryb emisji, wyszukując frazę "Przełącz dane wejściowe emisji do wszystkich okienek" w palecie poleceń.

Nazwa polecenia:toggleBroadcastInput

Identyfikator domyślny:

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

Dane wejściowe emisji

Otwórz menu kontekstowe

To polecenie spowoduje otwarcie menu kontekstowego "kliknij prawym przyciskiem myszy" dla aktywnego okienka. To menu zawiera kontekstowe akcje do zarządzania okienkami, kopiowania i wklejania oraz nie tylko. Ta akcja nie wymaga włączenia experimental.rightClickContextMenu ustawienia.

Nazwa polecenia:showContextMenu

Identyfikator domyślny:

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

Otwieranie okna dialogowego Informacje

To polecenie spowoduje otwarcie okna dialogowego about dla terminalu. To okno dialogowe zawiera informacje o terminalu, w tym numer wersji, licencję i inne.

Nazwa polecenia:openAbout

Identyfikator domyślny:

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

Ważne

Ta funkcja jest dostępna tylko w programie Windows Terminal Preview.

Wyszukiwanie w Internecie

Próbuje otworzyć okno przeglądarki z wyszukiwaniem zaznaczonego tekstu. Nie robi to nic, jeśli nie ma zaznaczonego tekstu. queryUrl Jeśli parametr nie zostanie podany, searchWebDefaultQueryUrl zamiast tego zostanie użyte ustawienie. queryUrl Jeśli parametr zostanie podany, %s element w ciągu zostanie zastąpiony wybranym tekstem.

Nazwa polecenia:searchWeb

Identyfikator domyślny:

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

Parametry

Name Konieczność Akceptuje Description
queryUrl Wymagane Sznurek Adres URL do wyszukiwania za pomocą polecenia . Element %s w tym ciągu zostanie zastąpiony wybranym tekstem. W przypadku pominięcia ustawienie będzie domyślnie ustawione searchWebDefaultQueryUrl .

Ważne

Ta funkcja jest dostępna tylko w programie Windows Terminal Preview.



Polecenia zarządzania oknami

Nowe okno

Spowoduje to utworzenie nowego okna. Bez żadnych argumentów spowoduje to otwarcie profilu domyślnego w nowym oknie (niezależnie od ustawienia ).windowingBehavior Jeśli akcja nie zostanie określona, zostanie użyte ustawienie równoważne profilu domyślnego.

Nazwa polecenia:newWindow

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Parametry

Name Konieczność Akceptuje Description
commandline Opcjonalnie Nazwa pliku wykonywalnego jako ciąg Uruchamianie pliku wykonywalnego na karcie .
startingDirectory Opcjonalnie Lokalizacja folderu jako ciąg Katalog, w którym zostanie otwarte okno.
tabTitle Opcjonalnie Sznurek Tytuł karty okna.
index Opcjonalnie Integer Profil, który zostanie otwarty na podstawie jego pozycji na liście rozwijanej (począwszy od 0).
profile Opcjonalnie Nazwa lub identyfikator GUID profilu jako ciąg Profil, który zostanie otwarty na podstawie identyfikatora GUID lub nazwy.
suppressApplicationTitle Opcjonalnie true, false Po ustawieniu opcji zezwala aplikacjom false na zmianę tytułu przez wysyłanie komunikatów o zmianie tytułu. Po ustawieniu wartości w celu pomijania true tych komunikatów. Jeśli nie zostanie podana, zachowanie jest dziedziczone z ustawień profilu.

Zmienianie nazwy okna

To polecenie może służyć do zmiany nazwy okna na określony ciąg.

Nazwa polecenia:renameWindow

Powiązanie domyślne:

To polecenie nie jest obecnie powiązane w ustawieniach domyślnych.

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

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

Parametry

Name Konieczność Akceptuje Description
name Opcjonalnie Sznurek Nowa nazwa do użycia dla tego okna. Jeśli to polecenie zostanie pominięte, spowoduje przywrócenie oryginalnej wartości nazwy okna.

Okno dialogowe Otwierania zmiany nazwy okna

To polecenie zmienia okno podręczne, które umożliwia edytowanie nazwy bieżącego okna. Wyczyszczenie pola tekstowego spowoduje zresetowanie nazwy okna.

Nazwa polecenia:openWindowRenamer

Identyfikator domyślny:

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

Okno Identyfikowanie

Spowoduje to wyświetlenie nakładki w oknie ukierunkowanym, w ramach którego wyświetlana jest nazwa i indeks okna.

Nazwa polecenia:identifyWindow

Identyfikator domyślny:

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

Identyfikowanie okien

Spowoduje to wyświetlenie nakładki we wszystkich oknach, które wyświetlają nazwę i indeks każdego okna.

Nazwa polecenia:identifyWindows

Powiązanie domyślne:

To polecenie nie jest obecnie powiązane w ustawieniach domyślnych.

{ "command": "identifyWindows" },


Polecenia zarządzania okienkami

Dzielenie okienka

Spowoduje to połówek rozmiaru aktywnego okienka i otwarcie innego okienka. Bez żadnych argumentów spowoduje to otwarcie profilu domyślnego w nowym okienku. Jeśli akcja nie zostanie określona, zostanie użyte ustawienie równoważne profilu domyślnego.

Nazwa polecenia:splitPane

Domyślne identyfikatory:

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

Powiązania domyślne:

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

Parametry

Name Konieczność Akceptuje Description
split Wymagane "vertical", "horizontal", , "auto", "up", "right", , "down""left" Podział okienka. "auto" podzieli kierunek, który zapewnia najwięcej powierzchni.
commandline Opcjonalnie Nazwa pliku wykonywalnego jako ciąg Uruchamianie pliku wykonywalnego w okienku.
startingDirectory Opcjonalnie Lokalizacja folderu jako ciąg Katalog, w którym zostanie otwarte okienko.
elevate Opcjonalnie true false, null elevate Zastępuje właściwość profilu. Po pominięciu ta akcja będzie działać zgodnie z ustawieniem profilu elevate . W przypadku ustawienia wartości true lub falseta akcja będzie zachowywać się tak, jakby profil został ustawiony odpowiednio na "elevate": true wartość lub "elevate": false ().
tabTitle Opcjonalnie Sznurek Tytuł karty, gdy nowe okienko jest ukierunkowane.
index Opcjonalnie Integer Profil, który zostanie otwarty na podstawie jego pozycji na liście rozwijanej (począwszy od 0).
profile Opcjonalnie Nazwa lub identyfikator GUID profilu jako ciąg Profil, który zostanie otwarty na podstawie identyfikatora GUID lub nazwy.
colorScheme Opcjonalnie Nazwa schematu kolorów jako ciąg Schemat do użycia zamiast zestawu profilu colorScheme
suppressApplicationTitle Opcjonalnie true, false W przypadku ustawienia na falsewartość aplikacje mogą zmieniać tytuł karty, wysyłając komunikaty o zmianie tytułu. Po ustawieniu wartości truena wartość te komunikaty są pomijane. Jeśli nie zostanie podana, zachowanie jest dziedziczone z ustawień profilu.
splitMode Opcjonalnie "duplicate" Określa sposób dzielenia okienka. Akceptuje "duplicate"tylko element , który zduplikuje profil okienka ukierunkowanego do nowego okienka.
size Opcjonalnie Spławik Określ, jak duże powinno być nowe okienko, jako ułamek rozmiaru bieżącego okienka. 1.0 będzie to "wszystkie bieżące okienko" i 0.0 ma wartość "Brak elementu nadrzędnego". Wartość domyślna to 0.5.

Zamknij okienko

Spowoduje to zamknięcie aktywnego okienka. Jeśli nie ma żadnych okienek podziału, spowoduje to zamknięcie bieżącej karty. Jeśli jest otwarta tylko jedna karta, spowoduje to zamknięcie okna.

Nazwa polecenia:closePane

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Przenieś fokus okienka

Spowoduje to zmianę fokusu w innym okienku w zależności od kierunku. Ustawienie wartości do direction"previous" spowoduje przeniesienie fokusu do ostatnio używanego okienka.

Nazwa polecenia:moveFocus

Domyślne identyfikatory:

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

Powiązania domyślne:

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

Parametry

Name Konieczność Akceptuje Description
direction Wymagane "left", "right", , , "up""down""previous""previousInOrder""nextInOrder""first""parent""child" Kierunek, w którym fokus zostanie przeniesiony.

Zaakceptowane direction wartości

  • up, , downleftlub right przenieś fokus w danym kierunku.
  • first przenosi fokus do pierwszego okienka liścia w drzewie.
  • previous przenosi fokus do ostatnio używanego okienka przed bieżącym okienkiem.
  • nextInOrder, previousInOrder przenosi fokus do następnego lub poprzedniego okienka w kolejności tworzenia.
  • parent przenosi fokus, aby wybrać okienko nadrzędne bieżącego okienka. Dzięki temu użytkownik może wybrać wiele okienek jednocześnie
  • child przenosi fokus do pierwszego okienka podrzędnego tego okienka.

Przenieś okienko

Przenieś aktualnie aktywne okienko do innej karty w oknie.

Nazwa polecenia:movePane

Domyślne identyfikatory:

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

Parametry

Name Konieczność Akceptuje Description
index Wymagane Liczba Indeks z indeksem zerowym karty, do który ma być przeniesiony

Okienka zamiany

Zamień położenie dwóch okienek na karcie. Działa to w aktywnym okienku i w okienku direction docelowym wyznaczonym przez parametr .

Nazwa polecenia:swapPane

Domyślne identyfikatory:

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

Parametry

Name Konieczność Akceptuje Description
direction Wymagane "left", "right", , , "up""down""previous""previousInOrder""nextInOrder""first""parent""child" Kierunek, w którym fokus zostanie przeniesiony.

Zaakceptowane direction wartości (są to te same wartości co moveFocus polecenie)

  • up, , downlub leftright: Zamień aktywne okienko na jeden w danym kierunku.
  • first: Zamień aktywne okienko na pierwsze okienko liścia w drzewie.
  • previous: Zamień aktywne okienko na ostatnio używane okienko przed bieżącym okienkiem.
  • nextInOrder, previousInOrder: zamień aktywne okienko na następne lub poprzednie okienko w kolejności tworzenia.
  • parent: nic nie robi.
  • child: nic nie robi.

Powiększanie okienka

Spowoduje to rozwinięcie okienka ukierunkowanego w celu wypełnienia całej zawartości okna.

Nazwa polecenia:togglePaneZoom

Identyfikator domyślny:

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

Powiększenie okienka przełączania terminalu systemu Windows

Zmienianie rozmiaru okienka

Spowoduje to zmianę rozmiaru aktywnego okienka.

Nazwa polecenia:resizePane

Domyślne identyfikatory:

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

Powiązania domyślne:

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

Parametry

Name Konieczność Akceptuje Description
direction Wymagane "left", , "right", , "up""down" Kierunek zmiany rozmiaru okienka.

Oznaczanie okienka jako tylko do odczytu

Okienko można oznaczyć jako tylko do odczytu, co uniemożliwi wejście do buforu tekstu. Jeśli spróbujesz zamknąć lub wprowadzić tekst w okienku tylko do odczytu, w terminalu zostanie wyświetlone ostrzeżenie wyskakujące.

Nazwa polecenia:toggleReadOnlyMode

Identyfikator domyślny:

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

Tryb tylko do odczytu można włączyć w okienku. Działa to podobnie do przełączania, jednak nie przełączy stanu, jeśli zostanie wyzwolony ponownie.

Nazwa polecenia:enableReadOnlyMode

Identyfikator domyślny:

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

Tryb tylko do odczytu można wyłączyć w okienku. Działa to podobnie do przełączania, jednak nie przełączy stanu, jeśli zostanie wyzwolony ponownie.

Nazwa polecenia:disableReadOnlyMode

Identyfikator domyślny:

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

Ponowne uruchamianie okienka

To polecenie spowoduje ręczne ponowne uruchomienie commandline polecenia w aktywnym okienku. Jest to szczególnie przydatne w scenariuszach, takich jak ssh, w których można chcieć ponownie uruchomić połączenie bez zamykania okienka.

Należy pamiętać, że spowoduje to zakończenie procesu w okienku, jeśli jest on aktualnie uruchomiony.

Nazwa polecenia:restartConnection

Identyfikator domyślny:

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


Polecenia integracji schowka

Copy

Spowoduje to skopiowanie wybranej zawartości terminalu do schowka. Jeśli nie ma zaznaczenia, akord klucza jest wysyłany bezpośrednio do terminalu.

Nazwa polecenia:copy

Identyfikator domyślny:

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

Powiązania domyślne:

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

Parametry

Name Konieczność Akceptuje Description
singleLine Opcjonalnie true, false Gdy trueskopiowana zawartość zostanie skopiowana jako pojedynczy wiersz. Gdy falsenowe linie są utrwalane z zaznaczonego tekstu.
withControlSequences Opcjonalnie true, false Gdy trueskopiowana zawartość będzie zawierać sekwencje kontrolek kodu ucieczki ANSI reprezentujące styl zawartości. Gdy falsezostanie skopiowany tylko zwykły tekst.
copyFormatting Opcjonalnie true, , false, "all", "none", , "html""rtf" Gdy truekolor i formatowanie czcionki zaznaczonego tekstu również zostaną skopiowane do schowka. Gdy falseplik jest kopiowany tylko w postaci zwykłego tekstu do Schowka. Możesz również określić formaty, które chcesz skopiować. Gdy nullzachowanie globalne "copyFormatting" jest dziedziczone.

Wklejać

Spowoduje to wstawienie zawartości skopiowaną do schowka.

Nazwa polecenia:paste

Identyfikator domyślny:

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

Powiązania domyślne:

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

Rozwijanie zaznaczenia do wyrazu

Jeśli zaznaczony obszar istnieje, powoduje to rozwinięcie zaznaczenia w celu pełnego rozwijania wszystkich wyrazów częściowo zaznaczonych.

Nazwa polecenia:expandSelectionToWord

Identyfikator domyślny:

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

Wybierz wszystko

Spowoduje to wybranie całej zawartości w buforze tekstowym.

Nazwa polecenia:selectAll

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Tryb oznaczania

Spowoduje to przełączenie trybu oznaczania. Tryb oznaczania to tryb, w którym można użyć klawiatury do utworzenia zaznaczenia na pozycji kursora w terminalu.

Nazwa polecenia:markMode

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Znacznik zaznaczenia przełącznika

Podczas modyfikowania zaznaczenia za pomocą klawiatury przenosisz jeden koniec zaznaczenia. Możesz użyć tej akcji, aby przełączyć się na inny znacznik wyboru.

Nazwa polecenia:switchSelectionEndpoint

Identyfikator domyślny:

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

Przełącz zaznaczenie bloku

Sprawia, że istniejący wybór bloku oznacza, że zaznaczony obszar jest prostokątem, w przeciwieństwie do zawijania do początku i końca każdego wiersza.

Nazwa polecenia:toggleBlockSelection

Identyfikator domyślny:

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


Polecenia przewijania zwrotnego

Przewiń w górę

Spowoduje to przewinięcie ekranu w górę przez liczbę wierszy zdefiniowanych przez "rowsToScroll"element . Jeśli "rowsToScroll" nie zostanie podana, będzie przewijać w górę ilość zdefiniowaną przez system domyślną, która jest taka sama jak przewijanie myszy.

Nazwa polecenia:scrollUp

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Parametry

Name Konieczność Akceptuje Description
rowsToScroll Opcjonalnie Integer Liczba wierszy do przewinięcia.

Przewiń w dół

Spowoduje to przewinięcie ekranu w dół przez liczbę wierszy zdefiniowanych przez "rowsToScroll"element . Jeśli "rowsToScroll" nie zostanie podana, będzie przewijać w dół ilość zdefiniowaną przez system domyślną, która jest taka sama jak przewijanie myszy.

Nazwa polecenia:scrollDown

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Parametry

Name Konieczność Akceptuje Description
rowsToScroll Opcjonalnie Integer Liczba wierszy do przewinięcia.

Przewijanie całej strony

Spowoduje to przewinięcie ekranu w górę przez całą stronę, czyli wysokość okna.

Nazwa polecenia:scrollUpPage

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Przewiń całą stronę w dół

Spowoduje to przewinięcie ekranu w dół przez całą stronę, czyli wysokość okna.

Nazwa polecenia:scrollDownPage

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Przewiń do najwcześniejszej historii

Spowoduje to przewinięcie ekranu w górę do góry buforu wejściowego.

Nazwa polecenia:scrollToTop

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Przewiń do najnowszej historii

Spowoduje to przewinięcie ekranu w dół do dołu buforu wejściowego.

Nazwa polecenia:scrollToBottom

Identyfikator domyślny:

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

Powiązanie domyślne:

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

Wyczyść bufor

Tej akcji można użyć do ręcznego wyczyszczenia buforu terminalu. Jest to przydatne w scenariuszach, w których nie siedzisz w wierszu polecenia powłoki i nie można łatwo uruchomić polecenia Clear-Hostclear/cls/.

Nazwa polecenia:clearBuffer

Identyfikator domyślny:

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

Parametry

Name Konieczność Akceptuje Description
clear Opcjonalnie "screen" "scrollback", "all" Jaka część ekranu ma być wyczyszkana.
  • "screen": Wyczyść zawartość widoku terminalu. Pozostawia nietkniętą przewijanie. Przenosi wiersz kursora w górnej części widoku (niezmodyfikowany).
  • "scrollback": Wyczyść przewijanie zwrotne. Pozostawia port widokowy nietknięty.
  • "all" (ustawienie domyślne): Wyczyść przewijanie i widoczne okienko wyświetlania. Przenosi wiersz kursora w górnej części okienka widoku.

___

Polecenia dostosowywania wizualnego

Dostosowywanie rozmiaru czcionki

Spowoduje to zmianę rozmiaru tekstu o określoną ilość punktów.

Nazwa polecenia:adjustFontSize

Domyślne identyfikatory:

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

Powiązania domyślne:

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

Parametry

Name Konieczność Akceptuje Description
delta Wymagane Integer Wielkość zmiany rozmiaru na wywołanie polecenia.

Resetuj rozmiar czcionki

Spowoduje to zresetowanie rozmiaru tekstu do wartości domyślnej.

Nazwa polecenia:resetFontSize

Identyfikator domyślny:

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

Powiązania domyślne:

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

Dostosowywanie nieprzezroczystości

Spowoduje to zmianę nieprzezroczystości okna. Jeśli relative ustawiono wartość true, dostosuje nieprzezroczystość w stosunku do bieżącej nieprzezroczystości. W przeciwnym razie ustawi nieprzezroczystość bezpośrednio na daną opacity

Nazwa polecenia:adjustOpacity

Powiązania domyślne:

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

Parametry

Name Konieczność Akceptuje Description
opacity Opcjonalnie Integer Jak nieprzezroczystość terminalu powinna stać się lub ile nieprzezroczystości należy zmienić, w zależności od wartości relative
relative Opcjonalnie logiczny Jeśli wartość true, dostosuj bieżącą nieprzezroczystość według danego opacity parametru. Jeśli wartość false, ustaw nieprzezroczystość na dokładnie określoną wartość.

Przełącz efekty cieniowania pikseli

Spowoduje to przełączenie wszystkich efektów cieniowania pikseli włączonych w terminalu. Jeśli użytkownik określił prawidłowy moduł cieniowania za pomocą experimental.pixelShaderPathpolecenia , ta akcja spowoduje przełączenie tego modułu cieniowania na/wył. Spowoduje to również przełączenie "efektu terminalu retro", który jest włączony przy użyciu ustawienia experimental.retroTerminalEffectprofilu .

Nazwa polecenia:toggleShaderEffects

Identyfikator domyślny:

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

Ostrzeżenie

Akcja toggleRetroEffect nie jest już dostępna w wersjach 1.6 i nowszych. Zaleca się zamiast tego użyć toggleShaderEffects polecenia .

Ustawianie schematu kolorów

Zmienia aktywny schemat kolorów.

Nazwa polecenia:setColorScheme

Parametry

Name Konieczność Akceptuje Description
colorScheme Wymagane Sznurek Schemat name kolorów do zastosowania.

Przykładowa deklaracja:

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

Dodaj znacznik przewijania

Dodaje znacznik przewijania do buforu tekstowego. Jeśli istnieje zaznaczenie, znacznik zostanie umieszczony w zaznaczeniu, w przeciwnym razie zostanie umieszczony w wierszu kursora.

Nazwa polecenia:addMark

Parametry

Name Konieczność Akceptuje Description
color Opcjonalnie Ciąg w formacie szesnastkowym: "#rgb" lub "#rrggbb" Kolor znacznika.

Przykładowa deklaracja:

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

Ważne

Ta akcja stała się stabilna w wersji 1.21. Wcześniej była dostępna tylko w terminalu systemu Windows Preview

Przewiń do znacznika

Przewija się do znacznika przewijania w danym kierunku. Aby uzyskać więcej informacji, zobacz Znaczniki przewijania i Integracja powłoki.

Nazwa polecenia:scrollToMark

Parametry

Name Konieczność Akceptuje Description
direction Wymagane "first", , "previous", , "next""last" Kierunek przewijania.

Przykładowa deklaracja:

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

Ważne

Ta akcja stała się stabilna w wersji 1.21. Wcześniej była dostępna tylko w terminalu systemu Windows Preview

Wyczyść znacznik

Czyści znacznik przewijania w bieżącej pozycji, w zaznaczeniu, jeśli istnieje jeden lub na pozycji kursora. Jest to funkcja eksperymentalna, a jej ciągłe istnienie nie jest gwarantowane.

Nazwa polecenia:clearMark

Przykładowa deklaracja:

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

Ważne

Ta akcja stała się stabilna w wersji 1.21. Wcześniej była dostępna tylko w terminalu systemu Windows Preview

Wyczyść wszystkie znaczniki

Czyści wszystkie znaczniki przewijania w buforze tekstowym. Jest to funkcja eksperymentalna, a jej ciągłe istnienie nie jest gwarantowane.

Nazwa polecenia:clearAllMarks

Przykładowa deklaracja:

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

Ważne

Ta akcja stała się stabilna w wersji 1.21. Wcześniej była dostępna tylko w terminalu systemu Windows Preview


___

Suggestions

Menu Otwórz sugestie

Dzięki temu użytkownik może otworzyć menu sugestii. Wpisy w menu sugestii są kontrolowane przez source właściwość . Menu sugestii działa podobnie jak paleta poleceń. Wpisywanie w polu tekstowym spowoduje przefiltrowanie wyników w celu wyświetlenia tylko wpisów pasujących do tekstu. Naciśnięcie enter spowoduje wykonanie wybranego wpisu. Naciśnięcie esc spowoduje zamknięcie menu.

Interfejs użytkownika sugestii

Nazwa polecenia:showSuggestions

Parametry

Name Konieczność Akceptuje Description
source Wymagane dowolna "recentCommands"liczba , "tasks"lub "all" Którego źródła sugestii należy użyć do wypełnienia tego menu. Zobacz poniżej, aby zapoznać się z opisem każdego z nich.
useCommandline Opcjonalnie logiczny Jeśli integracja powłoki jest włączona i jest trueto , menu sugestii zostanie wstępnie wypełnione zawartością bieżącego wiersza polecenia. Wartości domyślne true

Źródła sugestii

Obsługiwane są następujące źródła sugestii:

  • "recentCommands": spowoduje to wypełnienie menu sugestii przy użyciu ostatnio używanych poleceń. Są one obsługiwane przez integrację powłoki, więc będą dostępne tylko wtedy, gdy powłoka jest skonfigurowana do obsługi integracji powłoki. Aby uzyskać więcej informacji, zobacz Integracja powłoki .
  • "tasks": Spowoduje to wypełnienie menu sugestii wszystkimi sendInput akcjami z ustawień.
  • "all": Użyj wszystkich źródeł sugestii.

Te wartości mogą być używane przez siebie jako wartość parametru ciągu lub łączone jako tablica. Przykład:

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

W powyższym przykładzie pierwsze dwa polecenia spowodują otwarcie menu sugestii zarówno z ostatnimi poleceniami, jak i zadaniami. Trzecie polecenie spowoduje otwarcie menu sugestii tylko z ostatnimi poleceniami.

Ważne

Ta funkcja jest dostępna tylko w programie Windows Terminal Preview.


___

Eksportowanie buforu

Bufor eksportu

Dzięki temu użytkownik może wyeksportować tekst buforu do pliku. Jeśli plik nie istnieje, zostanie utworzony. Jeśli plik już istnieje, jego zawartość zostanie zastąpiona tekstem buforu terminalu.

Nazwa polecenia:exportBuffer

Identyfikator domyślny:

{ "command": { "action": "exportBuffer" }, "id": "Terminal.ExportBuffer" }

Parametry

Name Konieczność Akceptuje Description
path Opcjonalnie Sznurek Jeśli zostanie podany, terminal wyeksportuje zawartość buforu do danego pliku. W przeciwnym razie terminal otworzy selektor plików, aby wybrać plik do wyeksportowania.

___

Polecenia globalne

Wezwanie globalne

Jest to specjalna akcja, która działa globalnie w systemie operacyjnym, a nie tylko w kontekście okna terminalu. Po naciśnięciu tej akcji zostanie wywołane okno terminalu. To okno jest wywoływane, gdzie okno jest wzywane i jak okno zachowuje się podczas jego wywołania, jest kontrolowane przez właściwości tej akcji.

Notatki

  • Wszystkie klucze powiązane z globalSummon akcjami w terminalu nie będą działać w innych aplikacjach, gdy terminal jest uruchomiony — zawsze będą one fokusem w oknie terminalu.

  • Jeśli inna uruchomiona aplikacja została już zarejestrowana dla danego keys interfejsu RegisterHotKey API, terminal nie będzie mógł nasłuchiwać tych pociągnięć kluczy.

  • Wystąpienia z podwyższonym poziomem uprawnień i niezamierzone w terminalu nie będą mogły zarejestrować się dla tych samych kluczy. Dotyczy to zarówno wersji zapoznawczej, jak i stabilnej terminalu — pierwszy do uruchomienia zawsze wygra.

  • Te pociągnięcia kluczy będą działać tylko wtedy, gdy wystąpienie terminalu jest już uruchomione. Aby automatycznie uruchomić terminal podczas logowania, zobacz startOnUserLogin.

Nazwa polecenia:globalSummon

Powiązanie domyślne:

To polecenie nie jest obecnie powiązane w ustawieniach domyślnych.

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

Parametry

Name Konieczność Akceptuje Description
desktop Opcjonalnie any toCurrent, onCurrent Określa to sposób interakcji terminalu z pulpitami wirtualnymi.
  • "any": pozostaw okno na dowolnym pulpicie, na którym jest już włączony — przełączy się na ten pulpit, gdy zostanie aktywowane okno.
  • "toCurrent" (ustawienie domyślne): Przenieś okno do bieżącego pulpitu wirtualnego.
  • "onCurrent": wywołaj okno tylko wtedy, gdy jest ono już na bieżącym pulpicie wirtualnym.
monitor Opcjonalnie any toCurrent, toMouse Spowoduje to sterowanie monitorem, z którego zostanie wezwane okno.
  • "any": Przywoływanie ostatnio używanego okna, niezależnie od tego, który monitor jest aktualnie włączony.
  • "toCurrent": przywoływanie ostatnio używanego okna do monitora przy użyciu bieżącego okna pierwszego planu.
  • "toMouse" (ustawienie domyślne): przywoływanie ostatnio używanego okna do monitora, w którym znajduje się kursor myszy.
name Opcjonalnie Sznurek Po pominięciu (wartość domyślna) użyj polecenia monitor i desktop , aby znaleźć odpowiednie ostatnio używane okno do wywołania. Po podaniu wywołaj okno, którego nazwa lub identyfikator odpowiada podanej name wartości. Jeśli takie okno nie istnieje, utwórz nowe okno o tej nazwie.
dropdownDuration Opcjonalnie Integer Wartość domyślna to 0. Po podaniu liczby dodatniej "przesuń" okno w górnej części ekranu przy użyciu animacji, która trwa milisekund dropdownDuration . 200 jest rozsądną wartością dla tego ustawienia.
toggleVisibility Opcjonalnie true, false Wartość domyślna to true. Gdy truenaciśnięcie przypisanych dla tej akcji spowoduje odrzucenie (zminimalizowanie) okna, gdy okno jest obecnie oknem pierwszego planu. Gdy falsenaciśnięcie przypisanych spowoduje tylko przeniesienie okna na pierwszy plan.

Gdy name element jest dostarczany z elementemmonitor lub desktop, name zachowuje się w następujący sposób:

  • desktop
    • "any": Przejdź do pulpitu, na który znajduje się już podane okno.
    • "toCurrent": Jeśli okno znajduje się na innym pulpicie wirtualnym, przenieś je do aktualnie aktywnego.
    • "onCurrent": Jeśli okno znajduje się na innym pulpicie wirtualnym, przenieś je do aktualnie aktywnego.
  • monitor
    • "any": Pozostaw okno na monitorze, na który jest już włączony.
    • "toCurrent": Jeśli okno znajduje się na innym monitorze, przenieś je do monitora przy użyciu bieżącego okna pierwszego planu.
    • "toMouse": Jeśli okno znajduje się na innym monitorze, przenieś go do monitora z kursorem myszy na nim.

Właściwości desktop i monitor można połączyć w następujący sposób:

Kombinacji "desktop": "any" "desktop": "toCurrent" "desktop": "onCurrent" Nieuwzględnia
"monitor": "any" Przejdź do pulpitu, na który znajduje się okno (pozostaw pozycję samodzielnie) Przenieś okno na ten pulpit (pozostaw pozycję samodzielnie) Jeśli nie ma go na tym pulpicie:
  • Utwórz nowy w pozycji domyślnej
Inaczej:
  • Aktywuj ten na tym pulpicie (nie przenosij go)
Wywołanie okna MRU
"monitor": "toCurrent" Przejdź do pulpitu, na który jest włączone okno, przejdź do monitora za pomocą okna pierwszego planu Przenieś okno na ten pulpit, przejdź do monitora za pomocą okna pierwszego planu Jeśli nie ma go na tym pulpicie:
  • Tworzenie nowego
Inaczej:
  • Aktywuj ten na tym pulpicie, przejdź do monitora za pomocą okna pierwszego planu
Przywoływanie okna MRU do monitora za pomocą okna pierwszego planu
"monitor": "toMouse" Przejdź do pulpitu, na który jest włączone okno, przejdź do monitora za pomocą myszy Przenieś okno na ten pulpit, przejdź do monitora za pomocą myszy Jeśli nie ma go na tym pulpicie:
  • Tworzenie nowego
Inaczej:
  • Aktywuj ten na tym pulpicie, przejdź do monitora za pomocą myszy
Przywoływanie okna MRU do monitora za pomocą myszy
Nieuwzględnia Pozostaw miejsce, w którym jest Przechodzenie do bieżącego pulpitu Tylko na bieżącym pulpicie N/A

Przykłady


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

Otwieranie okna trybu quake

Ta akcja jest specjalną odmianą globalSummon akcji. To w szczególności przywołuje okno trzęsienia ziemi. Jest to skrót od następującej globalSummon akcji:

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

Jeśli chcesz zmienić zachowanie quakeMode akcji, zalecamy utworzenie nowego globalSummon wpisu przy actions użyciu preferowanych ustawień.

Nazwa polecenia:quakeMode

Identyfikator domyślny:

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

Tryb quake terminalu systemu Windows



Uruchamianie wielu akcji

Ta akcja umożliwia użytkownikowi powiązanie wielu akcji sekwencyjnych z jednym poleceniem. Te akcje nie obsługują identyfikatorów.

Nazwa polecenia:multipleActions

Parametry

Name Konieczność Akceptuje Description
actions Wymagane Tablica akcji Lista do action uruchomienia.

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


Usuń powiązanie kluczy (wyłącz powiązania kluczy)

Można wyłączyć powiązania lub "usunąć powiązanie" skojarzonych kluczy z dowolnego polecenia. Może to być konieczne w przypadku korzystania z podstawowych aplikacji terminalowych (takich jak VIM). Klucz niepowiązany zostanie przekazany do bazowego terminalu.

Nazwa polecenia:unbound

Przykład użycia niezwiązanych:

Aby na przykład usunąć powiązanie skrótów Alt+Shift+-" i Alt+Shift+=", uwzględnij te polecenia w actions sekcji plikusettings.json.

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

Przykład użycia wartości null:

Możesz również cofnąć powiązanie naciśnięcia, które jest domyślnie powiązane z akcją, ustawiając wartość "id" .null Umożliwi to również skojarzenie naciśnięcia z ustawieniem aplikacji wiersza polecenia zamiast wykonywania akcji domyślnej.

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

Scenariusz przypadków użycia:

Terminal systemu Windows używa powiązania skrótu Ctrl+V jako polecenia wklejania. Podczas pracy z wierszem polecenia WSL możesz użyć aplikacji systemu Linux, takiej jak Vim, do edytowania plików. Jednak vim opiera się na powiązaniu Ctrl+V , aby używać trybu wizualizacji blokowej. To powiązanie klucza zostanie zablokowane z poleceniem wklejania terminalu systemu Windows priorytetem, chyba że unbound ustawienie zostanie dostosowane w pliku settings.json, aby powiązanie klucza skojarzyło się z aplikacją wiersza polecenia Vim, a nie z powiązaniem terminalu systemu Windows.