Windows 終端機內的窗格

窗格能讓您在同一個索引標籤內,以相鄰的方式執行多個命令列應用程式。這可讓您不必頻繁地切換索引標籤,並讓您可以一次看到多個命令提示。

建立新窗格

使用鍵盤

您可以在 Windows 終端機中建立新的垂直或水平窗格。 垂直分割會在焦點所在窗格的右側開啟新窗格,水平分割則會在焦點所在窗格的下方開啟新窗格。 使用方向分割 uprightdownleft,為新窗格的方向提供更多選項。 rightdown 相當於 verticalhorizontal,而 upleft 可讓您將新窗格分別放在焦點視窗上方和左側。 若要建立預設配置檔的新垂直窗格,您可以按 Alt+Shift++ 按鍵組合。 針對預設配置檔的水準窗格,您可以使用 Alt+Shift+-

Windows Terminal create pane設定Raspberry Ubuntu

如果您想要變更這些按鍵繫結,可以使用 splitPane 動作,並針對設定檔 .json 檔案中的 split 屬性使用 verticalhorizontaluprightdownleftauto 值來建立新按鍵繫結。 auto 方法會選擇最能提供您方正窗格的方向。 若要深入了解按鍵繫結,請瀏覽動作頁面

{ "command": { "action": "splitPane", "split": "vertical" }, "keys": "alt+shift+plus" },
{ "command": { "action": "splitPane", "split": "horizontal" }, "keys": "alt+shift+-" },
{ "command": { "action": "splitPane", "split": "auto" }, "keys": "alt+shift+d" },
{ "command": { "action": "splitPane", "split": "up" } },
{ "command": { "action": "splitPane", "split": "right" } },
{ "command": { "action": "splitPane", "split": "down" } },
{ "command": { "action": "splitPane", "split": "left" } },

使用新的索引標籤按鈕和下拉式功能表

如果您想要開啟預設設定檔的新窗格,您可以按住 Alt 鍵,然後按下新的索引標籤按鈕。 如果您想要透過下拉功能表開啟新的窗格,您可以按住 Alt 並按下所需的設定檔。 這些選項都會將使用中的視窗或窗格 auto 分割為所選設定檔的新窗格。 auto 分割模式會以具有最長邊緣的方向分割來建立窗格。

Windows Terminal dropdown pane

使用索引標籤操作功能表

如果您想要開啟終端機中已開啟設定檔的新窗格,可以在索引標籤上按一下滑鼠右鍵,然後按一下 [分割索引標籤]。這會複製目前索引標籤中的焦點窗格。

Windows Terminal split tab

在窗格之間切換

終端機可讓您使用鍵盤來瀏覽不同窗格。 如果您按住 Alt 鍵,可以使用方向鍵在窗格之間移動焦點。 您可以透過窗格周圍的輔色框線來識別焦點所在的窗格。 請注意,此輔色會設定在您的 Windows 色彩設定內。

Windows Terminal switch panes

您可以為 moveFocus 命令新增按鍵繫結,並將 direction 設定為 downleftrightup 來進行自訂。 此外,direction 可以是 previous (最後使用的窗格),或是 previousInOrdernextInOrder (依樹狀順序瀏覽),或 first (第一個窗格)。 最後,您可以使用 parent 方向來向上瀏覽樹狀結構以選取多個窗格,然後使用 child 選取較少的窗格,並在樹狀結構中向下移動。 選取多個窗格時,可以執行類似焦點在單一窗格的動作。

{ "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" } },
{ "command": { "action": "moveFocus", "direction": "previousInOrder" } },
{ "command": { "action": "moveFocus", "direction": "nextInOrder" } },
{ "command": { "action": "moveFocus", "direction": "first" } },
{ "command": { "action": "moveFocus", "direction": "parent" } },
{ "command": { "action": "moveFocus", "direction": "child" } }

交換窗格

建立兩個窗格之後,您就可以在終端機中交換其位置。

swapPane 命令能夠使用相同的瀏覽 direction 作為 moveFocus 來自訂,除了 parentchild 之外。 這些命令會根據 direction 交換目前焦點窗格及其鄰近窗格的位置。

{ "command": { "action": "swapPane", "direction": "down" } },
{ "command": { "action": "swapPane", "direction": "left" } },
{ "command": { "action": "swapPane", "direction": "right" } },
{ "command": { "action": "swapPane", "direction": "up" } },
{ "command": { "action": "swapPane", "direction": "previous" } },
{ "command": { "action": "swapPane", "direction": "previousInOrder" } },
{ "command": { "action": "swapPane", "direction": "nextInOrder" } },
{ "command": { "action": "swapPane", "direction": "first" } }

移動窗格

窗格也可在索引標籤之間移動,且若目標索引不存在會建立新的索引標籤。

您可以自訂 movePane 命令的按鍵繫結,來根據順序移動窗格至 (以零為索引的) 索引標籤。

{ "command": { "action": "movePane", "index": 0 } },
{ "command": { "action": "movePane", "index": 1 } },
{ "command": { "action": "movePane", "index": 2 } },
{ "command": { "action": "movePane", "index": 3 } },
{ "command": { "action": "movePane", "index": 4 } },
{ "command": { "action": "movePane", "index": 5 } },
{ "command": { "action": "movePane", "index": 6 } },
{ "command": { "action": "movePane", "index": 7 } },
{ "command": { "action": "movePane", "index": 8 } }

變更分割方向

在索引標籤上建立兩個窗格後,這些窗格的方向可以使用 toggleSplitOrientation 命令來在 verticalhorizontal 之間切換。

{ "command": "toggleSplitOrientation" }

交換窗格 (預覽)

建立兩個窗格之後,您就可以在終端機中交換其位置。

swapPane 命令能夠使用相同的瀏覽 direction 作為 moveFocus 來自訂。 這些命令會根據 direction 交換目前焦點窗格及其鄰近窗格的位置。

{ "command": { "action": "swapPane", "direction": "down" } },
{ "command": { "action": "swapPane", "direction": "left" } },
{ "command": { "action": "swapPane", "direction": "right" } },
{ "command": { "action": "swapPane", "direction": "up" } },
{ "command": { "action": "swapPane", "direction": "previous" } },
{ "command": { "action": "swapPane", "direction": "previousInOrder" } },
{ "command": { "action": "swapPane", "direction": "nextInOrder" } }

移動窗格 (預覽)

窗格也可在索引標籤之間移動,且若目標索引不存在會建立新的索引標籤。

您可以自訂 movePane 命令的按鍵繫結,來根據順序移動窗格至 (以零為索引的) 索引標籤。

{ "command": { "action": "movePane", "index": 0 } },
{ "command": { "action": "movePane", "index": 1 } },
{ "command": { "action": "movePane", "index": 2 } },
{ "command": { "action": "movePane", "index": 3 } },
{ "command": { "action": "movePane", "index": 4 } },
{ "command": { "action": "movePane", "index": 5 } },
{ "command": { "action": "movePane", "index": 6 } },
{ "command": { "action": "movePane", "index": 7 } },
{ "command": { "action": "movePane", "index": 8 } }

變更分割方向 (預覽)

在索引標籤上建立兩個窗格後,這些窗格的方向可以使用 toggleSplitOrientation 命令來在 verticalhorizontal 之間切換。

{ "command": "toggleSplitOrientation" }

調整窗格大小

您可以按住 Alt+Shift ,並使用箭頭鍵調整焦點窗格的大小,以調整窗格的大小。

Windows Terminal resize pane

若要自訂此按鍵繫結,您可以使用 resizePane 動作並將 direction 設定為 downleftrightup 來新增新的按鍵繫結。

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

關閉窗格

您可以輸入 Ctrl+Shift+W 來關閉焦點窗格。 如果您只有一個窗格, Ctrl+Shift+W 將會關閉索引標籤。一如往常,關閉最後一個索引標籤將會關閉視窗。

Windows Terminal close panes

您可以藉由新增使用 closePane 命令的按鍵繫結,來變更會關閉窗格的按鍵。

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

縮放窗格

您可以縮放焦點窗格,來填滿視窗所有內容。

Windows Terminal toggle pane zoom

注意

上述 gif 中的功能表是命令調色盤,預設可以透過 Ctrl+Shift+P 來開啟。

您可以使用 togglePaneZoom 命令來完成。

{ "command": "togglePaneZoom" }

注意

動作 togglePaneZoom 預設不會系結至任何索引鍵,但可透過 命令選擇區存取,預設會系結至 Ctrl+Shift+P

將窗格標示為唯讀

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

您可以使用 toggleReadOnlyMode 命令,切換窗格的唯獨模式。

{ "command": "toggleReadOnlyMode" }

您可以在窗格上啟用唯獨模式。 其運作方式與切換類似,但如果再次觸發,則不會切換狀態。

命令名稱:enableReadOnlyMode

預設繫結:

{ "command": "enableReadOnlyMode" }

您可以在窗格上停用唯讀模式。 其運作方式與切換類似,但如果再次觸發,則不會切換狀態。

命令名稱:disableReadOnlyMode

預設繫結:

{ "command": "disableReadOnlyMode" }

使用按鍵繫結來自訂窗格

您可以根據自訂的按鍵繫結,來自訂要在新窗格內開啟的內容。

複製窗格

終端機可讓您將焦點所在窗格的設定檔複製到另一個窗格。

Windows Terminal duplicate panes

新增 splitMode 屬性並以 duplicate 作為 splitPane 按鍵繫結的值,即可完成這項作業。

{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }

新的終端機引數

使用按鍵繫結開啟新的窗格或索引標籤時,您可以藉由包含設定檔的名稱、guid 或索引來指定所要使用的設定檔。 如果未指定任何項目,則會使用預設設定檔。 您可以藉由將 profileindex 新增為 splitPanenewTab 按鍵繫結的引數來完成此作業。 請注意,索引編制會從 0 開始。

{ "command": { "action": "splitPane", "split": "vertical", "profile": "profile1" }, "keys": "ctrl+a" },
{ "command": { "action": "splitPane", "split": "vertical", "profile": "{00000000-0000-0000-0000-000000000000}" }, "keys": "ctrl+b" },
{ "command": { "action": "newTab", "index": 0 }, "keys": "ctrl+c" }

此外,您也可以覆寫設定檔的某些層面,例如設定檔的命令列可執行檔、起始目錄或索引標籤標題。 這可以藉由將 commandlinestartingDirectory 和/或 tabTitle 新增至 splitPanenewTab 按鍵繫結來完成。

{ "command": { "action": "splitPane", "split": "auto", "profile": "profile1", "commandline": "foo.exe" }, "keys": "ctrl+a" },
{ "command": { "action": "newTab", "profile": "{00000000-0000-0000-0000-000000000000}", "startingDirectory": "C:\\foo" }, "keys": "ctrl+b" },
{ "command": { "action": "newTab", "index": 0, "tabTitle": "bar", "startingDirectory": "C:\\foo", "commandline": "foo.exe" }, "keys": "ctrl+c" }