Windows 終端機中的自訂動作

重要

自 Windows 終端機 1.4 版開始, keybindings 陣列已重新命名為 actions settings.json 檔案內。 keybindings對陣列的支援仍然存在,但回溯相容性仍存在,不過終端機不會自動重新命名 keybindingsactionssettings.json 檔案內部。

您可以在 Windows 終端機 內建立自訂動作,讓您控制與終端機的互動方式。 這些動作會自動新增至命令選擇區。

動作格式

動作可以透過下列格式結構化:

不含引數的命令

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

例如,此預設設定會使用快速鍵 alt+f4 來關閉終端機視窗:

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

具有引數的命令

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

例如,此預設設定會使用快速鍵 ctrl+shift+1,根據下拉式功能表中第一個列出的設定檔,在終端機中開啟新的索引標籤 (通常會開啟 PowerShell 設定檔):

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


動作屬性

您可以使用下列屬性來建構動作。

命令

這是在按下相關聯按鍵時所執行的命令。

屬性名稱:command

必要性: 必要

接受: String

按鍵

這會定義用來呼叫命令的按鍵組合。 每個按鍵可以有任意數目的修飾詞。 以下列出接受的修飾詞和按鍵。

如果動作沒有按鍵,它會出現在命令選擇區中,但無法使用鍵盤叫用。

屬性名稱:keys

必要性: 選用

接受: 字串或陣列[字串]

動作

這會將其他功能新增至特定命令。

屬性名稱:action

必要性: 選用

接受: String

Name

這會設定命令選擇區中顯示的名稱。 如果未提供名稱,終端機會嘗試自動產生名稱。

屬性名稱:name

必要性:選擇性

接受: String

圖示

這會設定命令選擇區中顯示的圖示。

屬性名稱:icon

必要性: 選用

接受: 以字串或 emoji 表示的檔案位置



接受的修飾詞和按鍵

修飾詞

ctrl+, shift+, alt+, win+

注意

Windows雖然金鑰支援做為修飾詞,但系統會保留大部分 win+<key> 的按鍵系結。 如果 OS 已保留該金鑰系結,終端機永遠不會收到該系結。

輔助按鍵

類型 按鍵
函式和英數字元按鍵 f1-f24, a-z, 0-9
符號 `, plus, -, =, [, ], \, ;, ', ,, ., /
方向鍵 down, left, right, up, pagedown, pageup, pgdn, pgup, end, home
動作按鍵 tab, enter, esc, escape, space, backspace, delete, insert, app, menu
Numpad 按鍵 numpad_0-numpad_9, numpad0-numpad9, numpad_add, numpad_plus, numpad_decimal, numpad_period, numpad_divide, numpad_minus, numpad_subtract, numpad_multiply
瀏覽器金鑰 browser_back, browser_forward, browser_refresh, browser_stop, browser_search, browser_favorites, browser_home

注意:=plus 相等。 後者不得與 numpad_plus 混淆。


應用程式層級命令

結束

這會關閉所有開啟的終端機視窗。 確認對話方塊會出現在目前的視窗中,以確保您想要關閉所有視窗。

命令名稱:quit

預設系結:

{ "command": "quit" }

關閉視窗

這會關閉目前的視窗及其中的所有索引標籤。 如果 confirmCloseAllTabs 設定為 true,則會出現確認對話方塊,以確保您想要關閉所有索引標籤。 如需此設定的詳細資訊,請參閱 [外觀] 頁面

命令名稱:closeWindow

預設繫結:

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

Windows 終端機確認關閉所有索引標籤

尋找

這會開啟搜尋對話方塊。 如需搜尋的詳細資訊,請參閱搜尋頁面

命令名稱:find

預設繫結:

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

尋找下一個/上一個搜尋比對

這可讓您流覽搜尋相符專案。

命令名稱:findMatch

預設繫結:

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

參數

名稱 必要性 接受 說明
direction 必要 "next", "prev" 巡覽搜尋結果的方向。

開啟下拉式功能表

這會開啟下拉式功能表。

命令名稱:openNewTabDropdown

預設繫結:

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

開啟設定檔案

這會根據欄位開啟設定 UI、自訂設定檔 (settings.json) ,或預設設定檔 (defaults.json) targettarget如果沒有 欄位,就會開啟自訂設定檔案。

命令名稱:openSettings

預設繫結:

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

參數

名稱 必要性 接受 說明
target 選用 "settingsFile", "defaultsFile", "settingsUI", "allFiles" 要開啟的設定檔案。

開啟系統功能表

開啟視窗左上角的系統功能表。

命令名稱:openSystemMenu

預設繫結:

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

切換全螢幕

這可讓您在全螢幕和預設視窗大小之間切換。

命令名稱:toggleFullscreen

預設繫結:

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

切換焦點模式

這可讓您進入「焦點模式」,以隱藏索引標籤和標題列。

命令名稱:toggleFocusMode

預設繫結:

{ "command": "toggleFocusMode" }

切換一律開啟頂端模式

這可讓您切換視窗的「永遠開啟」狀態。 當處於「永遠開啟」模式時,視窗會出現在所有其他非最上層視窗的頂端。

命令名稱:toggleAlwaysOnTop

預設繫結:

{ "command": "toggleAlwaysOnTop" }

傳送輸入

將任意文字輸入傳送至殼層。 例如,輸入 "text\n" 會寫入「text」,後面接著分行符號至殼層。

可以使用 ANSI 逸出序列,但 之類的 \x1b 逸出程式碼必須撰寫為 \u001b 。 例如 "\u001b[A" , 的行為會如同按下向上箭號按鈕一樣。

命令名稱:sendInput

預設繫結:

此命令目前未系結在預設設定中

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

參數

名稱 必要性 接受 說明
input 必要 String 要饋送至殼層的文字輸入。


索引標籤管理命令

關閉索引標籤

這會關閉指定索引處的索引標籤。 如果未提供索引,請使用焦點索引標籤的索引。

命令名稱:closeTab

參數

名稱 必要性 接受 說明
index 選用 整數 要關閉之索引標籤的位置。

關閉所有其他索引標籤

這會關閉索引處的索引標籤以外的所有索引標籤。 如果未提供索引,請使用焦點索引標籤的索引。

命令名稱:closeOtherTabs

預設繫結:

{ "command": "closeOtherTabs" }

參數

名稱 必要性 接受 說明
index 選用 整數 要保持開啟之索引標籤的位置。

在索引之後關閉索引標籤

這會關閉索引標籤後面的索引標籤。 如果未提供索引,請使用焦點索引標籤的索引。

命令名稱:closeTabsAfter

預設繫結:

{ "command": "closeTabsAfter" }

參數

名稱 必要性 接受 說明
index 選用 整數 要保持開啟之最後一個索引標籤的位置。

重複的索引標籤

這會複製目前索引標籤的設定檔和目錄,並加以開啟。 這不包括修改/新增的 ENV 變數。

命令名稱:duplicateTab

預設繫結:

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

新增標籤

這會建立新的索引標籤。如果沒有任何引數,這會在新索引標籤中開啟預設設定檔。如果未指定索引,則會使用預設設定檔的對等設定。 如果索引未對應至設定檔,索引鍵會直接傳遞至終端機 (,如果未使用任何索引鍵來叫用動作,則會忽略) 。

命令名稱:newTab

預設繫結:

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

參數

名稱 必要性 接受 說明
commandline 選用 字串形式的可執行檔名稱 可執行檔在索引標籤內執行。
startingDirectory 選用 字串形式的資料夾位置 在其中開啟索引標籤的目錄。
elevate 選用 true, false, null elevate覆寫設定檔的 屬性。 省略時,此動作會根據設定檔的 elevate 設定運作。 當設定為 truefalse 時,此動作的行為會如同使用 或 "elevate": false (分別設定 "elevate": true 設定檔) 。
tabTitle 選用 String 新索引標籤的標題。
index 選用 整數 將會根據其在下拉式清單中位置 (從 0 開始) 開啟的設定檔。
profile 選用 字串形式的設定檔名稱或 GUID 將會根據其 GUID 或名稱開啟的設定檔。
colorScheme 選用 色彩配置的名稱做為字串 要使用的配置,而不是設定檔的集合 colorScheme
suppressApplicationTitle 選用 true, false 當設定為 false 時,應用程式可以藉由傳送標題變更訊息來變更索引標籤標題。 當設定為 true 時,這些訊息會隱藏。 如果未提供,則行為會繼承自設定檔的設定。 若要輸入新的索引標籤標題並保存該標題,這必須設定為 true。

開啟下一個索引標籤

這會在目前的索引標籤右側開啟索引標籤。

命令名稱:nextTab

預設繫結:

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

參數

名稱 必要性 接受 說明
tabSwitcherMode 選用 "mru", "inOrder", "disabled" 使用 "tabSwitcherMode" 移至下一個索引標籤。 如果未提供模式,請使用全域定義的模式。

開啟上一個索引標籤

這會在目前的索引標籤左側開啟索引標籤。

命令名稱:prevTab

預設繫結:

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

參數

名稱 必要性 接受 說明
tabSwitcherMode 選用 "mru", "inOrder", "disabled" 使用 "tabSwitcherMode" 移至上一個索引標籤。 如果未提供模式,請使用全域定義的模式。

這會開啟索引標籤搜尋方塊。

命令名稱:tabSearch

預設繫結:

此命令目前未系結在預設設定中

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

Windows 終端機索引標籤搜尋

開啟特定索引標籤

這會根據索引來開啟特定索引標籤。

命令名稱:switchToTab

預設繫結:

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

參數

名稱 必要性 接受 說明
index 必要 整數 將會根據其在索引標籤列中位置 (從 0 開始) 開啟的索引標籤。

重新命名索引標籤

此命令可用來將索引標籤重新命名為特定字串。

命令名稱:renameTab

預設繫結:

此命令目前未系結在預設設定中

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

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

參數

名稱 必要性 接受 說明
title 選用 String 要用於此索引標籤的新標題。如果省略,此命令會將索引標籤標題還原回其原始值。

開啟索引標籤重新命名文字方塊

此命令會將索引標籤標題變更為文字欄位,讓您編輯目前索引標籤的標題。清除文字欄位會將索引標籤標題重設為目前殼層實例的預設值。

命令名稱:openTabRenamer

預設繫結:

{ "command": "openTabRenamer" }

變更索引標籤色彩

此命令可用來將索引標籤的色彩變更為特定值。

命令名稱:setTabColor

預設繫結:

此命令目前未系結在預設設定中

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

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

參數

名稱 必要性 接受 說明
color 選用 字串,以十六進位格式: "#rgb""#rrggbb" 要用於此索引標籤的新色彩。如果省略,此命令會將索引標籤的色彩還原回其原始值。

開啟索引標籤色彩選擇器

此命令可用來開啟使用中索引標籤的色彩選擇器。色彩選擇器可用來在執行時間設定索引標籤的色彩。

命令名稱:openTabColorPicker

預設繫結:

{ "command": "openTabColorPicker" }

移動索引標籤

此命令會將索引標籤 「向後」和「向前」移動,這相當於左至右 UI 中的「左」和「右」。

命令名稱:moveTab

預設繫結:

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

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

參數

名稱 必要性 接受 說明
direction 必要 "backward", "forward" 索引標籤將移動的方向。


視窗管理命令

新增視窗

這會建立新的視窗。 如果沒有任何引數,不論) 的設定 windowingBehavior 為何,這都會在新視窗中開啟預設設定檔 (。 如果未指定動作,則會使用預設設定檔的對等設定。

命令名稱:newWindow

預設繫結:

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

參數

名稱 必要性 接受 說明
commandline 選用 字串形式的可執行檔名稱 可執行檔在索引標籤內執行。
startingDirectory 選用 字串形式的資料夾位置 視窗將開啟的目錄。
tabTitle 選用 String 視窗索引標籤的標題。
index 選用 整數 將會根據其在下拉式清單中位置 (從 0 開始) 開啟的設定檔。
profile 選用 字串形式的設定檔名稱或 GUID 將會根據其 GUID 或名稱開啟的設定檔。
suppressApplicationTitle 選用 true, false 當設定為 false 時,可讓應用程式藉由傳送標題變更訊息來變更索引標籤標題。 當 設定為 true true 時,會隱藏這些訊息。 如果未提供,行為會繼承自設定檔設定。

重新命名視窗

此命令可用來將視窗重新命名為特定字串。

命令名稱:renameWindow

預設繫結:

此命令目前未系結在預設設定中

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

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

參數

名稱 必要性 接受 說明
name 選用 String 要用於這個視窗的新名稱。 如果省略,此命令會將視窗名稱還原回其原始值。

開啟視窗重新命名對話方塊

此命令變更會顯示快顯視窗,可讓您編輯目前視窗的名稱。 清除文字欄位將會重設視窗名稱。

命令名稱:openWindowRenamer

預設繫結:

{ "command": "openWindowRenamer" }

識別視窗

這會在焦點視窗上快顯重迭,以顯示視窗的名稱和索引。

命令名稱:identifyWindow

預設繫結:

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

識別視窗

這會在所有視窗上快顯重迭,以顯示每個視窗的名稱和索引。

命令名稱:identifyWindows

預設繫結:

此命令目前未系結在預設設定中

{"command": "identifyWindows" },


窗格管理命令

關閉窗格

這會關閉使用中窗格。 如果沒有任何分割窗格,這會關閉目前的索引標籤。如果只有一個索引標籤開啟,這會關閉視窗。

命令名稱:closePane

預設繫結:

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

移動窗格焦點

這會將焦點變更至不同的窗格,視方向而定。 將 設定為 "previous" 會將 direction 焦點移至最近使用的窗格。

命令名稱:moveFocus

預設繫結:

{ "command": { "action": "moveFocus", "direction": "down" }, "keys": "alt+down" },
{ "command": { "action": "moveFocus", "direction": "left" }, "keys": "alt+left" },
{ "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" },
{ "command": { "action": "moveFocus", "direction": "up" }, "keys": "alt+up" },
{ "command": { "action": "moveFocus", "direction": "previous" }, "keys": "ctrl+alt+left" }

參數

名稱 必要性 接受 說明
direction 必要 "left", "right", "up", "down", "previous" 焦點要移動的方向。

縮放窗格

這會展開焦點窗格,以填滿視窗的整個內容。

命令名稱:togglePaneZoom

預設繫結:

{ "command": "togglePaneZoom" }

Windows 終端機切換窗格縮放

調整窗格大小

這會變更使用中窗格的大小。

命令名稱:resizePane

預設繫結:

{ "command": { "action": "resizePane", "direction": "down" }, "keys": "alt+shift+down" },
{ "command": { "action": "resizePane", "direction": "left" }, "keys": "alt+shift+left" },
{ "command": { "action": "resizePane", "direction": "right" }, "keys": "alt+shift+right" },
{ "command": { "action": "resizePane", "direction": "up" }, "keys": "alt+shift+up" }

參數

名稱 必要性 接受 說明
direction 必要 "left", "right", "up", "down" 將調整大小窗格的方向。

將窗格標示為唯讀

您可以將窗格標示為唯讀,以防止輸入進入文字緩衝區。 如果您嘗試關閉或輸入文字到唯讀窗格中,終端機將會改為顯示快顯警告。

命令名稱:toggleReadOnlyMode

預設繫結:

{ "command": "toggleReadOnlyMode" }

分割窗格

這會將使用中窗格的大小減半,並開啟另一個窗格。 沒有任何引數,這會在新的窗格中開啟預設設定檔。 如果未指定動作,則會使用預設設定檔的對等設定。

命令名稱:splitPane

預設繫結:

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

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

參數

名稱 必要性 接受 說明
split 必要 "vertical", "horizontal", "auto", "up", "right", "down", "left" 窗格的分割方式。 "auto" 會以提供最大表面區域的方向分割。
commandline 選用 字串形式的可執行檔名稱 可執行檔在窗格內執行。
startingDirectory 選用 字串形式的資料夾位置 在其中開啟窗格的目錄。
elevate 選用 true, false, null elevate覆寫設定檔的 屬性。 省略時,此動作會根據設定檔的 elevate 設定運作。 當設定為 truefalse 時,此動作的行為會如同使用 或 "elevate": false (分別設定 "elevate": true 設定檔) 。
tabTitle 選用 String 當新窗格為焦點時的索引標籤標題。
index 選用 整數 將會根據其在下拉式清單中位置 (從 0 開始) 開啟的設定檔。
profile 選用 字串形式的設定檔名稱或 GUID 將會根據其 GUID 或名稱開啟的設定檔。
colorScheme 選用 色彩配置的名稱做為字串 要使用的配置,而不是設定檔的集合 colorScheme
suppressApplicationTitle 選用 true, false 當設定為 false 時,應用程式可以藉由傳送標題變更訊息來變更索引標籤標題。 當設定為 true 時,這些訊息會隱藏。 如果未提供,則行為會繼承自設定檔的設定。
splitMode 選用 "duplicate" 控制窗格的分割方式。 只接受 "duplicate",這會將焦點窗格的設定檔複製到新窗格中。
size 選擇性 Float 指定新窗格的大小,以目前窗格大小的分數來指定。 1.0 會是「所有目前的窗格」,且 0.0 為「父系無」。 預設值為 0.5


剪貼簿整合命令

複製

這會將選取的終端機內容複製到剪貼簿。 如果沒有選取範圍存在,則會直接將索引鍵弦傳送至終端機。

命令名稱:copy

預設繫結:

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

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

參數

名稱 必要性 接受 說明
singleLine 選用 true, false 當為 true 時,複製的內容將會複製成一行。 當為 false 時,會從選取的文字保存新行。
copyFormatting 選擇性 true, false, "all", "none", "html", "rtf" 當 為 時 true ,選取文字的色彩和字型格式也會複製到剪貼簿。 當 為 時 false ,只會將純文字複製到剪貼簿。 您也可以指定您想要複製的格式。 當 為 時 null ,會繼承全域 "copyFormatting" 行為。

貼上

這會插入複製到剪貼簿的內容。

命令名稱:paste

預設繫結:

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

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

將選取範圍展開為 [預覽) ] (

如果選取範圍存在,這會展開選取範圍,以完全包含部分選取的任何單字。

命令名稱:expandSelectionToWord

預設繫結:

{ "command": "expandSelectionToWord" }

全選

這會選取文字緩衝區中的所有內容。

命令名稱:selectAll

預設繫結:

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

(預覽模式)

這會切換標記模式。 標記模式是一種模式,您可以使用鍵盤在終端機中游標的位置建立選取範圍。

命令名稱:markMode

預設繫結:

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

重要

這項功能僅適用於 Windows 終端機預覽

(Preview) 切換選取標記

使用鍵盤修改選取範圍時,您會移動一端的選取範圍。 您可以使用此動作切換至其他選取標記。

命令名稱:switchSelectionEndpoint

預設繫結:

{ "command": "switchSelectionEndpoint" },

重要

這項功能僅適用於 Windows 終端機預覽

(Preview) 切換區塊選取專案

讓選取範圍成為區塊選取範圍,這表示選取的區域是矩形,而不是換行到每一行的開頭和結尾。

命令名稱:toggleBlockSelection

預設繫結:

{ "command": "toggleBlockSelection" },

重要

這項功能僅適用於 Windows 終端機預覽



回捲命令

向上捲動

這會依 所 "rowsToScroll" 定義的資料列數目向上捲動畫面。 如果未 "rowsToScroll" 提供,則會向上捲動系統預設值所定義的數量,這與滑鼠捲動量相同。

命令名稱:scrollUp

預設繫結:

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

參數

名稱 必要性 接受 說明
rowsToScroll 選用 整數 要捲動的資料列數目。

向下捲動

這會依 所 "rowsToScroll" 定義的資料列數目向下捲動畫面。 如果未 "rowsToScroll" 提供,則會向下捲動系統預設值所定義的數量,這與滑鼠捲動量相同。

命令名稱:scrollDown

預設繫結:

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

參數

名稱 必要性 接受 說明
rowsToScroll 選用 整數 要捲動的資料列數目。

向上捲動整頁

這會將畫面向上捲動整頁,也就是視窗的高度。

命令名稱:scrollUpPage

預設繫結:

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

向下捲動整頁

這會將畫面向下捲動整頁,也就是視窗的高度。

命令名稱:scrollDownPage

預設繫結:

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

捲動至最早的歷程記錄

這會將畫面向上捲動到輸入緩衝區的頂端。

命令名稱:scrollToTop

預設繫結:

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

捲動至最新的歷程記錄

這會向下捲動畫面到輸入緩衝區底部。

命令名稱:scrollToBottom

預設繫結:

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

清除緩衝區

此動作可用來手動清除終端緩衝區。 這適用于您不在命令列殼層提示字元中且無法輕易執行 Clear-Host//clsclear 的案例。

命令名稱:clearBuffer

預設繫結:

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

參數

名稱 必要性 接受 說明
clear 選用 "screen", "scrollback", "all" 要清除的畫面部分。
  • "screen":清除終端機檢視區內容。 讓捲動保持不變。 將游標資料列移至檢視區頂端, (未修改的檢視區) 。
  • "scrollback":清除捲動。 讓檢視區保持不變。
  • "all" (預設) :清除捲動和可見的檢視區。 將游標資料列移至檢視區頂端。

視覺效果調整命令

調整字型大小

這會將文字大小變更為指定的點數量。

命令名稱:adjustFontSize

預設繫結:

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

參數

名稱 必要性 接受 說明
delta 必要 整數 每個命令引動的大小變更量。

重設字型大小

這會將文字大小重設為預設值。

命令名稱:resetFontSize

預設繫結:

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

調整不透明度

這會變更視窗的不透明度。 如果 relative 設定為 true,它會調整相對於目前不透明度的不透明度。 否則,它會直接將不透明度設定為指定的 opacity

命令名稱:adjustOpacity

預設繫結:

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

參數

名稱 必要性 接受 說明
opacity 選用 整數 根據 的值而定,終端機應如何變成不透明或應該變更不透明度的程度 relative
relative 選擇性 Boolean 如果為 true,則由指定的 opacity 參數調整目前的不透明度。 如果為 false,請將不透明度設定為完全相同的值。

切換圖元著色器效果

這會切換終端機中啟用的任何圖元著色器效果。 如果使用者使用 指定有效的著色器 experimental.pixelShaderPath ,此動作將會開啟/關閉該著色器。 這也會切換 [回溯終端機效果],此效果會透過設定檔設定 experimental.retroTerminalEffect 來啟用。

命令名稱:toggleShaderEffects

預設繫結:

{ "command": "toggleShaderEffects" }

警告

toggleRetroEffect1.6 版和更新版本中不再提供此動作。 建議您改用 toggleShaderEffects

設定色彩配置

變更使用中色彩配置。

命令名稱:setColorScheme

參數

名稱 必要性 接受 說明
colorScheme 必要 String name要套用之色彩配置的 。

範例系結:

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

實驗性新增捲動標記 (Preview)

將捲動標記新增至文字緩衝區。 如果有選取範圍,標記會放在選取範圍,否則會放在游標列。 這是實驗性功能,不保證其持續存在。

命令名稱:addMark

參數

名稱 必要性 接受 說明
color 選用 字串,以十六進位格式: "#rgb""#rrggbb" 標記的色彩。

範例系結:

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

重要

這項功能僅適用於 Windows 終端機預覽

實驗性捲動以標示 (Preview)

捲動至指定方向的捲動標記。 這是實驗性功能,不保證其持續存在。

命令名稱:scrollToMark

參數

名稱 必要性 接受 說明
direction 必要 "first", "previous", "next", "last" 要捲動的方向。

範例系結:

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

重要

這項功能僅適用於 Windows 終端機預覽

預覽版 () 的實驗性清除標記

清除目前位置的捲動標記,不論是在選取範圍中有一個或游標位置。 這是實驗性功能,不保證其持續存在。

命令名稱:clearMark

範例系結:

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

重要

這項功能僅適用於 Windows 終端機預覽

實驗性清除 預覽 版 (的所有標記)

清除文字緩衝區中的所有捲動標記。 這是實驗性功能,不保證其持續存在。

命令名稱:clearAllMarks

範例系結:

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

重要

這項功能僅適用於 Windows 終端機預覽



緩衝區匯出

匯出緩衝區

這可讓使用者將緩衝區的文字匯出至檔案。 如果檔案不存在,將會建立它。 如果檔案已經存在,其內容將會取代為終端機緩衝區文字。

命令名稱:exportBuffer

預設繫結:

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

參數

名稱 必要性 接受 說明
path 選用 String 如果提供,則終端機會將緩衝區內容匯出至指定的檔案。 否則,終端機會開啟檔案選擇器,以選擇要匯出的檔案。

全域命令

全域總和

這是在 OS 中全域運作的特殊動作,而不只是在終端機視窗的內容中運作。 按下時,此動作會叫用終端機視窗。 所擷取哪一個視窗,其中會擷取視窗,以及此動作上的屬性控制視窗的運作方式。

注意事項

  • 終端機執行時,系結至 globalSummon 終端機中動作的任何索引鍵將無法在其他應用程式中運作, 它們一律會將焦點放在終端機視窗。

  • 如果另一個執行中的應用程式已經向指定的 keys 使用 RegisterHotKey API 註冊,終端機將無法接聽這些按鍵筆劃。

  • 提高許可權和未刪除的終端機實例將無法同時註冊相同的金鑰。 這也適用于終端機的預覽和穩定版本 ,第一個要啟動的終端機版本一律會勝出。

  • 只有在終端機的實例已經執行時,這些按鍵筆劃才會運作。 若要在登入時自動啟動終端機,請參閱 startOnUserLogin

命令名稱:globalSummon

預設繫結:

此命令目前未系結在預設設定中

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

參數

名稱 必要性 接受 說明
desktop 選用 any, toCurrent, onCurrent 這會控制終端機應該如何與虛擬桌面互動。
  • "any":將視窗保留在已開啟的桌面上 , 將會在視窗啟動時切換至該桌面。
  • "toCurrent" (預設) :將視窗移至目前的虛擬桌面。
  • "onCurrent":只有在目前虛擬桌面上已經有視窗時,才加總視窗。
monitor 選用 any, toCurrent, toMouse 這會控制視窗要從/到擷取的監視器。
  • "any":將最近使用的視窗加總,不論其目前所在的監視器為何。
  • "toCurrent":使用目前前景視窗將最近使用的視窗加總至監視器。
  • "toMouse" (預設) :將最近使用的視窗加總至滑鼠游標所在的監視器。
name 選用 String (預設) 省略時,請使用 monitordesktop 來尋找適當的最近使用的視窗來加總。 提供時,請加總名稱或識別碼符合指定 name 值的視窗。 如果沒有這類視窗存在,請建立具有該名稱的新視窗。
dropdownDuration 選用 整數 預設值為 0。 以正數提供時,使用持續 dropdownDuration 毫秒的動畫,從畫面頂端「投影片」視窗。 200 這是此設定的合理值。
toggleVisibility 選用 true, false 預設值為 true。 當 為 時 true ,按下此動作的指派索引鍵將會關閉 (最小化) 視窗目前為前景視窗時。 當 為 時 false ,按下指派的按鍵將只會將視窗帶入前景。

提供monitordesktopnamename 行為方式如下:

  • desktop
    • "any":移至指定的視窗已開啟的桌面。
    • "toCurrent":如果視窗位於另一個虛擬桌面上,請將它移至目前使用中的虛擬桌面。
    • "onCurrent":如果視窗位於另一個虛擬桌面上,請將它移至目前使用中的虛擬桌面。
  • monitor
    • "any":將視窗保留在監視器上。它已開啟。
    • "toCurrent":如果視窗位於另一個監視器上,則將其移至具有目前前景視窗的監視器。
    • "toMouse":如果視窗位於另一個監視器上,請使用滑鼠游標移至監視器。

desktopmonitor 屬性可以透過下列方式合併:

組合 "desktop": "any" "desktop": "toCurrent" "desktop": "onCurrent" 不包括
"monitor": "any" 移至視窗所在的桌面, (讓位置保持單獨) 將視窗移至此桌面 (讓位置保持單獨) 如果此桌面上沒有一個:
  • 在預設位置建立新專案
還:
  • 在此桌面上啟用 (不會將它移動)
將 MRU 視窗加總
"monitor": "toCurrent" 移至視窗所在的桌面,使用前景視窗移至監視器 將視窗移至此桌面,使用前景視窗移至監視器 如果此桌面上沒有一個:
  • 建立新的
還:
  • 啟動此桌面上的電腦,使用前景視窗移至監視器
使用前景視窗將 MRU 視窗加總至監視器
"monitor": "toMouse" 移至視窗所在的桌面,使用滑鼠移至監視器 將視窗移至此桌面,使用滑鼠移至監視器 如果此桌面上沒有一個:
  • 建立新的
還:
  • 啟動此桌面上的電腦,使用滑鼠移至監視器
使用滑鼠將 MRU 視窗加總至監視器
未包含 保留其所在位置 移至目前的桌面 僅限目前的桌面 N/A

範例


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

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

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

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

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

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

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

開啟 [喚醒模式] 視窗

此動作是動作的特殊變化 globalSummon 。 它特別會加總 喚醒視窗。 這是下列 globalSummon 動作的速記:

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

如果您想要變更動作的行為 quakeMode ,建議您使用您偏好的設定,在 中 actions 建立新的 globalSummon 專案。

命令名稱:quakeMode

預設繫結:

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

Windows 終端機喚醒模式



執行多個動作

此動作可讓使用者將多個循序動作系結至一個命令。

命令名稱:multipleActions

參數

名稱 必要性 接受 說明
actions 必要 動作陣列 要執行的 清單 action

範例

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


取消系結金鑰 (停用金鑰系結)

您可以從任何命令停用按鍵系結或「解除系結」相關聯的金鑰。 使用基礎終端機應用程式 (,例如 VIM) 時,可能需要這樣做。 未系結金鑰會傳遞至基礎終端機。

命令名稱:unbound

使用未系結的範例:

例如,若要解除系結快速鍵Alt+Shift「 和Alt+Shift++=- 」,請在settings.json 檔案的 區段中包含這些命令。 actions

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

使用 Null 的範例:

您也可以將 預設系結至動作的按鍵系結,方法是將 設定 "command"null 。 這也允許按鍵與命令列應用程式設定產生關聯,而不是執行預設動作。

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

使用案例:

Windows 終端機使用快速鍵系結Ctrl+V作為貼上命令。 使用 WSL 命令列時,您可能會想要使用 Linux 應用程式,例如 Vim 來編輯檔案。 不過,Vim 依賴Ctrl+v鍵系結來使用封鎖視覺模式。 除非在 settings.json 檔案中調整此設定,否則會封鎖此索引鍵系結,並優先使用 Windows 終端機 paste 命令,讓金鑰系結與 Vim 命令列應用程式產生關聯, unbound 而不是與Windows 終端機系結產生關聯。