共用方式為


如何在 Windows 終端機中使用命令選擇區

命令選擇區可讓您查看在 Windows 終端機內可以執行哪些動作。 如需如何定義動作的詳細資訊,請參閱動作頁面

叫用命令選擇區

您可以輸入 Ctrl+Shift+P 來叫用命令選擇區。 透過將 commandPalette 命令新增至按鍵繫結關係即可自訂。

{ "command": "commandPalette", "keys": "ctrl+shift+p" }

命令列模式

如果您想要在命令選擇區中輸入 wt 命令,可以透過刪除文字方塊中的 > 字元執行此動作。 這會在目前視窗中執行 wt 命令。 如需 wt 命令的詳細資訊,請參閱命令列引數頁面

Windows Terminal command line mode

您可以新增自訂按鍵繫結關係,直接在命令列模式中叫用命令選擇區。

{ "command": "commandPalette", "launchMode": "commandLine", "keys": "" }

將圖示新增至命令

您可以選擇將圖示新增至 settings.json 中定義的命令,該命令會出現在命令選擇區中。 將 icon 屬性新增至動作即可完成此動作。 圖示可以是影像路徑、來自 Segoe MDL2 Assets 的符號或任何字元,包括 Emoji。

{ "icon": "C:\\Images\\my-icon.png", "name": "New tab", "command": "newTab", "keys": "ctrl+shift+t" },
{ "icon": "\uE756", "name": "New tab", "command": "newTab", "keys": "ctrl+shift+t" },
{ "icon": "⚡", "name": "New tab", "command": "newTab", "keys": "ctrl+shift+t" }

巢狀命令

巢狀命令可讓您將多個命令分組至命令選擇區中的項目下。 下列範例會將字型調整大小命令分組至名為「變更字型大小…」的命令選擇區項目下。

{
    "name": "Change font size...",
    "commands": [
        { "command": { "action": "adjustFontSize", "delta": 1 } },
        { "command": { "action": "adjustFontSize", "delta": -1 } },
        { "command": "resetFontSize" },
    ]
}

Windows Terminal nested commands

可反覆執行的命令

可反覆執行的命令可讓您同時建立多個命令,這些命令是從設定中定義的其他物件產生。 目前,您可以為設定檔和色彩配置建立可反覆執行的命令。 在執行階段,這些命令會擴充為針對指定類型中每個物件的一個命令。

您目前可以逐一查看下列屬性:

iterateOn 屬性 屬性語法
profiles name "name": "${profile.name}"
profiles icon "icon": "${profile.icon}"
schemes name "name": "${scheme.name}"

範例

為每個設定檔建立新的索引標籤命令。

{
    "iterateOn": "profiles",
    "icon": "${profile.icon}",
    "name": "${profile.name}",
    "command": { "action": "newTab", "profile": "${profile.name}" }
}

在上述範例中:

  • "iterateOn": "profiles" 會為每個設定檔產生命令。
  • 在執行階段,終端機會以每個設定檔圖示取代 ${profile.icon},並以每個設定檔名稱取代 ${profile.name}

如果您有三個設定檔:

"profiles": [
	{ "name": "Command Prompt", "icon": null },
	{ "name": "PowerShell", "icon": "C:\\path\\to\\icon.png" },
	{ "name": "Ubuntu", "icon": null },
]

上述命令的行為類似於下列三個命令:

{
    "icon": null,
    "name": "Command Prompt",
    "command": { "action": "newTab", "profile": "Command Prompt" }
},
{
    "icon": "C:\\path\\to\\icon",
    "name": "PowerShell",
    "command": { "action": "newTab", "profile": "PowerShell" }
},
{
    "icon": null,
    "name": "Ubuntu",
    "command": { "action": "newTab", "profile": "Ubuntu" }
}

您也可以合併巢狀和可反覆執行的命令。 例如,如上圖所示,您可以將上述三個「新索引標籤」命令合併至命令選擇區中的單一 [新索引標籤] 項目下,方法如下:

{
    "name": "New tab",
    "commands": [
        {
            "iterateOn": "profiles",
            "icon": "${profile.icon}",
            "name": "${profile.name}",
            "command": { "action": "newTab", "profile": "${profile.name}" }
        }
    ]
}

Windows Terminal iterable commands

隱藏命令

如果您想將命令保留在按鍵繫結關係清單中,但不要出現在命令選擇區中,則可以將其 name 設定為 null 加以隱藏。 下列範例會隱藏命令選擇區中的「新索引標籤」動作。

{ "name": null, "command": "newTab", "keys": "ctrl+shift+t" }