如何使用 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 的符号或任何字符,包括表情符号。

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