Как использовать палитру команд в Терминале 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 или любым символом (в том числе эмодзи).

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