Пользовательские действия и привязки ключей в Терминал Windows
Вы можете создавать пользовательские действия в Терминале Windows, которые позволяют контролировать взаимодействие с терминалом. Эти действия будут автоматически добавлены в палитру команд.
Форматы действий
Действия можно структурировать в следующих форматах:
Команды без аргументов
{ "command": "commandName", "id": "User.MyCommand" }
Например, этот параметр по умолчанию использует сочетание клавиш ALT+F4 для закрытия окна терминала:
{ "command": "closeWindow", "id": "User.MyCloseWindow" }
Команды с аргументами
{ "command": { "action": "commandName", "argument": "value" }, "id": "User.MyCommand" }
Например, этот параметр по умолчанию использует сочетание клавиш CTRL+SHIFT+1 для открытия новой вкладки в терминале в зависимости от того, какой профиль указан в раскрывающемся меню (обычно откроется профиль PowerShell):
{ "command": { "action": "newTab", "index": 0 }, "id": "User.MyNewTabAction" }
Команды с аргументами командной строки
{ "command": { "action": "wt", "commandline": "value" }, "keys": "modifiers+key" }
Например, этот параметр по умолчанию использует сочетание клавиш CTRL+SHIFT+O для wt
открытия новой вкладки PowerShell с дополнительными панелями командной строки и Ubuntu:
{
"command":
{
"action": "wt",
"commandline": "new-tab pwsh.exe ; split-pane -p \"Command Prompt\" -d C:\\ ; split-pane -p \"Ubuntu\" -H"
},
"keys": "ctrl+shift+o"
}
Свойства действия
Действия хранятся в массиве actions
и могут быть созданы с помощью следующих свойств.
Команда
Это команда, выполняемая при нажатии соответствующих клавиш.
Имя свойства: command
Необходимость: обязательный
Принимает: Строка
Действие
Добавляет дополнительные функции к определенным командам.
Имя свойства: action
Степень необходимости: необязательно
Принимает: Строка
Имя.
Это свойство позволяет задать имя, которое будет отображаться в палитре команд. Если имя не будет указано, терминал попытается создать его автоматически.
Имя свойства: name
Степень необходимости: необязательно
Принимает: Строка
Icon
Это свойство позволяет задать значок, отображаемый в палитре команд.
Имя свойства: icon
Степень необходимости: необязательно
Принимает: расположение файла в виде строки или эмодзи.
ID
Задает идентификатор этого действия. Если он не указан, терминал создаст идентификатор для этого действия. Идентификатор используется для ссылки на это действие при создании привязки ключей.
Имя свойства: id
Степень необходимости: необязательно
Принимает: Строка
Привязки ключей
Действия можно назначить привязки ключей, ссылаясь на них с уникальным идентификатором. Например, вот возможный keybindings
массив, который назначает ALT+F4, CTRL+SHIFT+1 и CTRL+SHIFT+O действиям, определенным выше. Для одного и того же действия можно создать несколько записей привязки ключей.
"keybindings": [
{ "keys": "alt+f4", "id": "User.MyCloseWindow" },
{ "keys": "ctrl+shift+1", "id": "User.MyNewTabAction" },
{ "keys": "ctrl+shift+o", "id": "User.MyCoolSetup"}
]
Свойства привязки ключей
Привязки ключей хранятся в массиве keybindings
и создаются с помощью следующих свойств.
Ключи
Определяет сочетания клавиш, используемые для вызова команды. Для одной клавиши может существовать любое количество модификаторов. Допустимые модификаторы и клавиши перечислены ниже.
Если действию не назначены клавиши, оно появится в палитре команд, но его нельзя будет вызвать с помощью клавиатуры.
Имя свойства: keys
Необходимость: обязательный
Принимает: Строка или массив[строка]
ID
Это идентификатор действия, вызываемого при нажатии этой привязки ключей.
Имя свойства: id
Необходимость: обязательный
Принимает: Строка
Принятые модификаторы
ctrl+
, , shift+
alt+
win+
Примечание.
Windows
Хотя ключ поддерживается в качестве модификатора, система резервирует большинство привязок ключей Win+<Key>. Если в ОС такое сочетание клавиш зарезервировано, терминал никогда не получит его.
Клавиши-модификаторы
Тип | Ключи |
---|---|
Клавиши функций и буквенно-цифровые клавиши | 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_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
Эта команда закрывает все окна терминала. В текущем окне появится диалоговое окно подтверждения, чтобы вы могли подтвердить закрытие всех окно.
Имя команды: quit
Идентификатор по умолчанию:
{ "command": "quit", "id": "Terminal.Quit" }
Закрыть окно
Закрывает текущее окно и все вкладки внутри него. Если для confirmCloseAllTabs
задано значение true
, откроется диалоговое окно подтверждения, указывающее, что можно закрыть все вкладки. Дополнительные сведения об этом параметре можно найти на странице, посвященной вкладке Оформление.
Имя команды: closeWindow
Идентификатор по умолчанию:
{ "command": "closeWindow", "id": "Terminal.CloseWindow" }
Сочетание по умолчанию:
{ "keys": "alt+f4", "id": "Terminal.CloseWindow" }
Поиск
Открывает диалоговое окно поиска. Дополнительные сведения о поиске см. на этой странице.
Имя команды: find
Идентификатор по умолчанию:
{ "command": "find", "id": "Terminal.FindText" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+f", "id": "Terminal.FindText" }
Переход к следующему/предыдущему результату поиска
Эта команда позволяет перемещаться между результатами поиска
Имя команды: findMatch
Идентификаторы по умолчанию:
{ "command": { "action": "findMatch", "direction": "next" }, "id": "Terminal.FindNextMatch" },
{ "command": { "action": "findMatch", "direction": "prev" }, "id": "Terminal.FindPrevMatch" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
direction |
Обязательное поле | "next" , "prev" |
Направление для перехода по результатам поиска. |
Открыть раскрывающийся элемент
Открывает раскрывающееся меню.
Имя команды: openNewTabDropdown
Идентификатор по умолчанию:
{ "command": "openNewTabDropdown", "id": "Terminal.OpenNewTabDropdown" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+space", "id": "Terminal.OpenNewTabDropdown" }
Открытие файла параметров
Откроется пользовательский интерфейс параметров, файл пользовательских параметров (settings.json
) или файл параметров по умолчанию (defaults.json
), в зависимости от поля target
.
Если поле target
не указано, откроется файл пользовательских параметров.
Имя команды: openSettings
Идентификаторы по умолчанию:
{ "command": { "action": "openSettings", "target": "settingsUI" }, "id": "Terminal.OpenSettingsUI" },
{ "command": { "action": "openSettings", "target": "settingsFile" }, "id": "Terminal.OpenSettingsFile" },
{ "command": { "action": "openSettings", "target": "defaultsFile" }, "keys": "Terminal.OpenDefaultSettingsFile" }
Сочетания клавиш по умолчанию:
{ "keys": "ctrl+,", "id": "Terminal.OpenSettingsUI" },
{ "keys": "ctrl+shift+,", "id": "Terminal.OpenSettingsFile" },
{ "keys": "ctrl+alt+,", "id": "Terminal.OpenDefaultSettingsFile" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
target |
Необязательно | "settingsFile" , , "defaultsFile" "settingsUI" "allFiles" |
Открываемый файл параметров. |
Открытие системного меню
Позволяет открыть системное меню в левом верхнем углу окна.
Имя команды: openSystemMenu
Идентификатор по умолчанию:
{ "command": "openSystemMenu", "id": "Terminal.OpenSystemMenu" }
Сочетание по умолчанию:
{ "keys": "alt+space", "id": "Terminal.OpenSystemMenu" }
Переключиться в полноэкранный режим
Позволяет переключаться между полноэкранным режимом и размером окон по умолчанию.
Имя команды: toggleFullscreen
Идентификатор по умолчанию
{ "command": "toggleFullscreen", "id": "Terminal.ToggleFullscreen" }
Сочетания клавиш по умолчанию:
{ "keys": "alt+enter", "id": "Terminal.ToggleFullscreen" },
{ "keys": "f11", "id": "Terminal.ToggleFullscreen" }
Переключение в режим фокусировки
Эта команда позволяет перейти в режим фокусировки, чтобы скрыть вкладки и заголовок окна.
Имя команды: toggleFocusMode
Идентификатор по умолчанию:
{ "command": "toggleFocusMode", "id": "Terminal.ToggleFocusMode" }
Переключение в режим "Поверх других окон"
Эта команда позволяет переключить окно в состояние "Поверх других окон". Если включен режим "Поверх других окон", окно будет отображаться поверх всех других окон.
Имя команды: toggleAlwaysOnTop
Идентификатор по умолчанию:
{ "command": "toggleAlwaysOnTop", "id": "Terminal.ToggleAlwaysOnTop" }
Отправка входных данных
Отправка произвольного текстового ввода в оболочку.
Например, если указать входные данные "text\n"
, в оболочке будет записано слово text, после которого следует новая строка.
Можно использовать escape-последовательности ANSI, но такие escape-коды, как \x1b
, нужно записывать в формате \u001b
.
Например, "\u001b[A"
будет работать как нажатие кнопки со стрелкой вверх.
Имя команды: sendInput
Сочетание по умолчанию:
В настоящее время эта команда не связана с параметрами по умолчанию.
{ "command": { "action": "sendInput", "input": "\u001b[A" } }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
input |
Обязательное поле | Строка | Текстовые входные данные для передачи в оболочку. |
Команды управления вкладками
Закрыть вкладку
Эта команда позволяет закрыть вкладку по заданному индексу. Если индекс не указан, используется индекс вкладки, на которую направлен фокус.
Имя команды: closeTab
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
index |
Необязательно | Целое | Позиция вкладки, которую нужно закрыть. |
Закрытие всех остальных вкладок
Позволяет закрыть все вкладки, кроме той, для которой указан индекс. Если индекс не указан, используется индекс вкладки, на которую направлен фокус.
Имя команды: closeOtherTabs
Идентификатор по умолчанию:
{ "command": "closeOtherTabs", "id": "Terminal.CloseOtherTabs" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
index |
Необязательно | Целое | Позиция вкладки, которая должна остаться открытой. |
Закрытие вкладок после индекса
Закрывает вкладки после той вкладки, для которой указан индекс. Если индекс не указан, используется индекс вкладки, на которую направлен фокус.
Имя команды: closeTabsAfter
Идентификатор по умолчанию:
{ "command": "closeTabsAfter", "id": "Terminal.CloseTabsAfter" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
index |
Необязательно | Целое | Позиция последней вкладки, которая должна остаться открытой. |
Дублировать вкладку
Создает и открывает копию для профиля текущей вкладки и каталога. Это не относится к измененным или добавленным переменным среды.
Имя команды: duplicateTab
Идентификатор по умолчанию:
{ "command": "duplicateTab", "id": "Terminal.DuplicateTab" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+d", "id": "Terminal.DuplicateTab" }
Новая вкладка
Создает новую вкладку. При отсутствии аргументов открывает профиль по умолчанию на новой вкладке. Если индекс не указан, будет использоваться аналогичный параметр профиля по умолчанию. Если индекс не сопоставляется с профилем, ключи передаются непосредственно в терминал (или игнорируются, если для вызова действия ключи не использовались).
Имя команды: newTab
Идентификаторы по умолчанию:
{ "command": "newTab", "id": "Terminal.OpenNewTab" },
{ "command": { "action": "newTab", "index": 0 }, "id": "Terminal.OpenNewTabProfile0" },
{ "command": { "action": "newTab", "index": 1 }, "id": "Terminal.OpenNewTabProfile1" },
{ "command": { "action": "newTab", "index": 2 }, "id": "Terminal.OpenNewTabProfile2" },
{ "command": { "action": "newTab", "index": 3 }, "id": "Terminal.OpenNewTabProfile3" },
{ "command": { "action": "newTab", "index": 4 }, "id": "Terminal.OpenNewTabProfile4" },
{ "command": { "action": "newTab", "index": 5 }, "id": "Terminal.OpenNewTabProfile5" },
{ "command": { "action": "newTab", "index": 6 }, "id": "Terminal.OpenNewTabProfile6" },
{ "command": { "action": "newTab", "index": 7 }, "id": "Terminal.OpenNewTabProfile7" },
{ "command": { "action": "newTab", "index": 8 }, "id": "Terminal.OpenNewTabProfile8" }
Сочетания клавиш по умолчанию:
{ "keys": "ctrl+shift+t", "id": "Terminal.OpenNewTab" },
{ "keys": "ctrl+shift+1", "id": "Terminal.OpenNewTabProfile0" },
{ "keys": "ctrl+shift+2", "id": "Terminal.OpenNewTabProfile1" },
{ "keys": "ctrl+shift+3", "id": "Terminal.OpenNewTabProfile2" },
{ "keys": "ctrl+shift+4", "id": "Terminal.OpenNewTabProfile3" },
{ "keys": "ctrl+shift+5", "id": "Terminal.OpenNewTabProfile4" },
{ "keys": "ctrl+shift+6", "id": "Terminal.OpenNewTabProfile5" },
{ "keys": "ctrl+shift+7", "id": "Terminal.OpenNewTabProfile6" },
{ "keys": "ctrl+shift+8", "id": "Terminal.OpenNewTabProfile7" },
{ "keys": "ctrl+shift+9", "id": "Terminal.OpenNewTabProfile8" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
commandline |
Необязательно | Имя исполняемого файла в виде строки | Исполняемый файл запускается во вкладке. |
startingDirectory |
Необязательно | Расположение папки в виде строки | Каталог, в котором будет открыта вкладка. |
elevate |
Необязательно | true , , false null |
Переопределяет свойство elevate профиля. Если этот параметр не включен, действие будет выполняться в соответствии с параметрами профиля elevate . Если задано значение true или false , действие будет выполняться так, как будто для профиля заданы значения "elevate": true или "elevate": false (соответственно). |
tabTitle |
Необязательно | Строка | Заголовок новой вкладки. |
index |
Необязательно | Целое | Профиль, который будет открыт в зависимости от его положения в раскрывающемся списке (начиная с 0). |
profile |
Необязательно | Имя профиля или GUID в виде строки | Профиль, который будет открыт на основе идентификатора GUID или имени. |
colorScheme |
Необязательно | Имя цветовой схемы в виде строки | Схема, которая будет использоваться вместо заданной в профиле colorScheme . |
suppressApplicationTitle |
Необязательно | true , false |
Если задано значение false , приложениям позволяется изменить заголовок вкладки, отправив сообщение о смене заголовка. Если задано значение true , такие сообщения подавляются. Если значение не задано, поведение наследуется от параметров профиля. Чтобы ввести новый заголовок вкладки и сохранить его, необходимо задать значение true. |
Открыть следующую вкладку
Открывает вкладку справа от текущей.
Имя команды: nextTab
Идентификатор по умолчанию:
{ "command": "nextTab", "id": "Terminal.NextTab" }
Сочетание по умолчанию:
{ "keys": "ctrl+tab", "id": "Terminal.NextTab" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
tabSwitcherMode |
Необязательно | "mru" , , "inOrder" "disabled" |
Переход к следующей таблице с помощью "tabSwitcherMode" . Если режим не указан, используется глобально определенный режим. |
Открыть предыдущую вкладку
Открывает вкладку справа от текущей.
Имя команды: prevTab
Идентификатор по умолчанию:
{ "command": "prevTab", "id": "Terminal.PrevTab" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+tab", "id": "Terminal.PrevTab" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
tabSwitcherMode |
Необязательно | "mru" , , "inOrder" "disabled" |
Перейти к предыдущей таблице с помощью "tabSwitcherMode" . Если режим не указан, используется глобально определенный режим. |
Поиск по вкладкам
Откроется поле поиска по вкладкам.
Имя команды: tabSearch
Сочетание по умолчанию:
В настоящее время эта команда не связана с параметрами по умолчанию.
{"command": "tabSearch"}
Открыть определенную вкладку
Открывает конкретную вкладку в зависимости от индекса.
Имя команды: switchToTab
Идентификаторы по умолчанию:
{ "command": { "action": "switchToTab", "index": 0 }, "id": "Terminal.SwitchToTab0" },
{ "command": { "action": "switchToTab", "index": 1 }, "id": "Terminal.SwitchToTab1" },
{ "command": { "action": "switchToTab", "index": 2 }, "id": "Terminal.SwitchToTab2" },
{ "command": { "action": "switchToTab", "index": 3 }, "id": "Terminal.SwitchToTab3" },
{ "command": { "action": "switchToTab", "index": 4 }, "id": "Terminal.SwitchToTab4" },
{ "command": { "action": "switchToTab", "index": 5 }, "id": "Terminal.SwitchToTab5" },
{ "command": { "action": "switchToTab", "index": 6 }, "id": "Terminal.SwitchToTab6" },
{ "command": { "action": "switchToTab", "index": 7 }, "id": "Terminal.SwitchToTab7" }
Сочетания клавиш по умолчанию:
{ "keys": "ctrl+alt+1", "id": "Terminal.SwitchToTab0" },
{ "keys": "ctrl+alt+2", "id": "Terminal.SwitchToTab1" },
{ "keys": "ctrl+alt+3", "id": "Terminal.SwitchToTab2" },
{ "keys": "ctrl+alt+4", "id": "Terminal.SwitchToTab3" },
{ "keys": "ctrl+alt+5", "id": "Terminal.SwitchToTab4" },
{ "keys": "ctrl+alt+6", "id": "Terminal.SwitchToTab5" },
{ "keys": "ctrl+alt+7", "id": "Terminal.SwitchToTab6" },
{ "keys": "ctrl+alt+8", "id": "Terminal.SwitchToTab7" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
index |
Обязательное поле | Целое | Вкладка, которая будет открыта в зависимости от положения в списке вкладок (начиная с 0). |
Переименование вкладки
Эта команда позволяет переименовать вкладку в определенную строку.
Имя команды: renameTab
Сочетание по умолчанию:
В настоящее время эта команда не связана с параметрами по умолчанию.
// Rename a tab to "Foo"
{ "command": { "action": "renameTab", "title": "Foo" } }
// Reset the tab's name
{ "command": { "action": "renameTab", "title": null } }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
title |
Необязательно | Строка | Новый заголовок, используемый для этой вкладки. Если значение не указано, команда вернет исходное значение для заголовка вкладки. |
Открытие текстового поля для переименования вкладки
Эта команда изменяет заголовок вкладки на текстовое поле, позволяющее указать новый заголовок текущей вкладки. Если очистить текстовое поле, заголовок вкладки будет сброшен к значению по умолчанию для текущего экземпляра оболочки.
Имя команды: openTabRenamer
Идентификатор по умолчанию:
{ "command": "openTabRenamer", "id": "Terminal.OpenTabRenamer" }
Изменение цвета вкладки
Эта команда позволяет изменить цвет вкладки на определенное значение.
Имя команды: setTabColor
Сочетание по умолчанию:
В настоящее время эта команда не связана с параметрами по умолчанию.
// Change the tab's color to a bright magenta
{ "command": { "action": "setTabColor", "color": "#ff00ff" } }
// Reset the tab's color
{ "command": { "action": "setTabColor", "color": null } }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
color |
Необязательно | Строка в шестнадцатеричном формате: "#rgb" или "#rrggbb" |
Новый цвет, используемый для этой вкладки. Если значение не указано, команда вернет исходное значение для цвета вкладки. |
Открытие палитры для выбора цвета вкладки
Эта команда позволяет открыть палитру для активной вкладки. Палитру можно использовать для настройки цвета вкладки во время выполнения.
Имя команды: openTabColorPicker
Идентификатор по умолчанию:
{ "command": "openTabColorPicker", "id": "Terminal.OpenTabColorPicker" }
Перемещение вкладки
Эта команда перемещает вкладку "назад" и "вперед", что эквивалентно значениям "влево" и "вправо" в пользовательском интерфейсе с направленностью слева направо.
Имя команды: moveTab
Идентификаторы по умолчанию:
// Move tab backward (left in LTR)
{ "command": { "action": "moveTab", "direction": "backward" }, "id": "Terminal.MoveTabBackward" }
// Move tab forward (right in LTR)
{ "command": { "action": "moveTab", "direction": "forward" }, "id": "Terminal.MoveTabForward" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
direction |
Обязательное поле | "backward" , "forward" |
Направление для перемещения вкладки. |
window |
Необязательно | Идентификатор окна | См. ниже |
window
является необязательным и соответствует тому же формату, что --window-id
и аргумент в командной строке wt.exe
. Если она опущена, она переместит вкладку в текущем окне. Если это указано, это может быть целый идентификатор окна или имя окна. Он также принимает следующие зарезервированные значения:
"new"
или-1
: всегда выполняйте эту команду в новом окне"last"
или0
: всегда выполняйте эту команду в последнем используемом окне
Если окно не существует с заданным window
идентификатором, новое окно будет создано с таким идентификатором или именем.
Широковещательные входные данные
Эта команда переключит режим трансляции для области. При включении режима трансляции все входные данные, отправленные на панель, будут отправлены на все панели на одной вкладке. Это полезно для отправки одного и того же ввода на несколько панелей одновременно.
Как и в любом действии, вы также можете вызвать "режим трансляции", выполнив поиск по запросу "Переключить широковещательные входные данные ко всем панелям" в палитре команд.
Имя команды: toggleBroadcastInput
Идентификатор по умолчанию:
{ "command": "toggleBroadcastInput", "id": "Terminal.ToggleBroadcastInput" }
Открыть контекстное меню
Эта команда откроет контекстное меню "правой кнопкой мыши" для активной панели. В этом меню есть контекстно-релевантные действия для управления панелями, копированием и вставками и т. д. Для этого действия не требуется experimental.rightClickContextMenu
включить параметр.
Имя команды: showContextMenu
Идентификатор по умолчанию:
{ "command": "showContextMenu", "id": "Terminal.ShowContextMenu" }
Открытие диалогового окна
Эта команда откроет диалоговое окно о терминале. Это диалоговое окно содержит сведения о терминале, включая номер версии, лицензию и многое другое.
Имя команды: openAbout
Идентификатор по умолчанию:
{ "command": "openAbout", "id": "Terminal.OpenAboutDialog" }
Внимание
Эта функция доступна только в предварительной версии Терминала Windows.
Поиск в Интернете
Пытается открыть окно браузера с поиском выделенного текста. Это не делает ничего, если не выбран текст. queryUrl
Если параметр не указан, searchWebDefaultQueryUrl
вместо этого будет использоваться параметр. queryUrl
Если параметр указан, %s
строка будет заменена выделенным текстом.
Имя команды: searchWeb
Идентификатор по умолчанию:
{ "command": { "action": "searchWeb" }, "id": "Terminal.SearchWeb" },
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
queryUrl |
Обязательное поле | Строка | URL-адрес для поиска. В %s этой строке будет заменен выделенный текст. Если опущено, по умолчанию используется searchWebDefaultQueryUrl параметр. |
Внимание
Эта функция доступна только в предварительной версии Терминала Windows.
Команды управления окнами
Новое окно
Создает новое окно. При отсутствии аргументов открывает профиль по умолчанию в новом окне (независимо от настройки windowingBehavior
). Если действие не указано, будет использоваться аналогичный параметр профиля по умолчанию.
Имя команды: newWindow
Идентификатор по умолчанию:
{ "command": "newWindow", "id": "Terminal.OpenNewWindow" },
Сочетание по умолчанию:
{ "keys": "ctrl+shift+n", "id": "Terminal.OpenNewWindow" },
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
commandline |
Необязательно | Имя исполняемого файла в виде строки | Исполняемый файл запускается во вкладке. |
startingDirectory |
Необязательно | Расположение папки в виде строки | Каталог, в котором будет открыто новое окно. |
tabTitle |
Необязательно | Строка | Заголовок вкладки окна. |
index |
Необязательно | Целое | Профиль, который будет открыт в зависимости от его положения в раскрывающемся списке (начиная с 0). |
profile |
Необязательно | Имя профиля или GUID в виде строки | Профиль, который будет открыт на основе идентификатора GUID или имени. |
suppressApplicationTitle |
Необязательно | true , false |
Если задано значение false , приложения могут изменить заголовок вкладки, отправив сообщение о смене заголовка. Если задано значение true для подавления этих сообщений. Если значение не задано, поведение наследуется от параметров профиля. |
переименование окна;
Эта команда позволяет переименовать окно в определенную строку.
Имя команды: renameWindow
Сочетание по умолчанию:
В настоящее время эта команда не связана с параметрами по умолчанию.
// Rename a window to "Foo"
{ "command": { "action": "renameWindow", "name": "Foo" } }
// Reset the window's name
{ "command": { "action": "renameWindow", "name": null } }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
name |
Необязательно | Строка | Новое имя, которое будет использоваться для этого окна. Если имя не указано, команда вернет исходное значение для имени окна. |
диалоговое окно переименования открытого окна;
Эта команда открывает всплывающее окно, позволяющее изменить имя текущего окна. Если очистить текстовое поле, восстановится исходное имя окна.
Имя команды: openWindowRenamer
Идентификатор по умолчанию:
{ "command": "openWindowRenamer", "id": "Terminal.OpenWindowRenamer" }
Определение окна
Для окна в фокусе появится всплывающее наложение, в котором указано имя и индекс окна.
Имя команды: identifyWindow
Идентификатор по умолчанию:
{"command": "identifyWindow", "id": "Terminal.IdentifyWindow" },
Определение окон
Для всех отображаемых окон появится всплывающее наложение, в котором указано имя и индекс каждого окна.
Имя команды: identifyWindows
Сочетание по умолчанию:
В настоящее время эта команда не связана с параметрами по умолчанию.
{ "command": "identifyWindows" },
Команды управления панелью
Разделить панель
Позволяет сократить размер активной панели и открыть другую. При отсутствии аргументов открывает профиль по умолчанию на новой панели. Если действие не указано, будет использоваться аналогичный параметр профиля по умолчанию.
Имя команды: splitPane
Идентификаторы по умолчанию:
{ "command": { "action": "splitPane", "splitMode": "duplicate", "split": "auto" }, "id": "Terminal.DuplicatePaneAuto" },
{ "command": { "action": "splitPane", "split": "up" }, "id": "Terminal.SplitPaneUp" },
{ "command": { "action": "splitPane", "split": "down" }, "id": "Terminal.SplitPaneDown" },
{ "command": { "action": "splitPane", "split": "left" }, "id": "Terminal.SplitPaneLeft" },
{ "command": { "action": "splitPane", "split": "right" }, "id": "Terminal.SplitPaneRight" },
{ "command": { "action": "splitPane", "splitMode": "duplicate", "split": "down" }, "id": "Terminal.DuplicatePaneDown" },
{ "command": { "action": "splitPane", "splitMode": "duplicate", "split": "right" }, "id": "Terminal.DuplicatePaneRight" }
Сочетания клавиш по умолчанию:
{ "keys": "alt+shift+d", "id": "Terminal.DuplicatePaneAuto" },
{ "keys": "alt+shift+-", "id": "Terminal.DuplicatePaneDown" },
{ "keys": "alt+shift+plus", "id": "Terminal.DuplicatePaneRight" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
split |
Обязательное поле | "vertical" , "horizontal" , "auto" "up" "right" "down" "left" |
Как будет разделяться панель. "auto" будет разделяться в направлении, которое предоставляет наибольшую поверхность контактной зоны. |
commandline |
Необязательно | Имя исполняемого файла в виде строки | Исполняемый файл запускается в панели. |
startingDirectory |
Необязательно | Расположение папки в виде строки | Каталог, в котором будет открыта панель. |
elevate |
Необязательно | true , , false null |
Переопределяет свойство elevate профиля. Если этот параметр не включен, действие будет выполняться в соответствии с параметрами профиля elevate . Если задано значение true или false , действие будет выполняться так, как будто для профиля заданы значения "elevate": true или "elevate": false (соответственно). |
tabTitle |
Необязательно | Строка | Заголовок вкладки, когда на новую панель помещается фокус. |
index |
Необязательно | Целое | Профиль, который будет открыт в зависимости от его положения в раскрывающемся списке (начиная с 0). |
profile |
Необязательно | Имя профиля или GUID в виде строки | Профиль, который будет открыт на основе идентификатора GUID или имени. |
colorScheme |
Необязательно | Имя цветовой схемы в виде строки | Схема, которая будет использоваться вместо заданной в профиле colorScheme . |
suppressApplicationTitle |
Необязательно | true , false |
Если задано значение false , приложениям позволяется изменить заголовок вкладки, отправив сообщение о смене заголовка. Если задано значение true , такие сообщения подавляются. Если значение не задано, поведение наследуется от параметров профиля. |
splitMode |
Необязательно | "duplicate" |
Управляет разделением области. Принимает только "duplicate" , что позволяет дублировать профиль выбранной панели на новую панель. |
size |
Необязательно | Тип с плавающей запятой | Укажите размер новой области в виде части размера текущей области. 1.0 представляет весь размер текущей области, а 0.0 — ни одну часть родительской области. По умолчанию — 0.5 . |
Закрыть панель
Закрывает активную панель. Если нет разделенных областей, это закроет текущую вкладку. Если открыта только одна вкладка, это закроет окно.
Имя команды: closePane
Идентификатор по умолчанию:
{ "command": "closePane", "id": "Terminal.ClosePane" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+w", "id": "Terminal.ClosePane" }
Сдвинуть фокус панели
Перемещает фокус на другую панель в зависимости от направления. Если для direction
задать значение "previous"
, фокус переместится на последнюю использованную область.
Имя команды: moveFocus
Идентификаторы по умолчанию:
{ "command": { "action": "moveFocus", "direction": "down" }, "id": "Terminal.MoveFocusDown" },
{ "command": { "action": "moveFocus", "direction": "left" }, "id": "Terminal.MoveFocusLeft" },
{ "command": { "action": "moveFocus", "direction": "right" }, "id": "Terminal.MoveFocusRight" },
{ "command": { "action": "moveFocus", "direction": "up" }, "id": "Terminal.MoveFocusUp" },
{ "command": { "action": "moveFocus", "direction": "previous" }, "id": "Terminal.MoveFocusPrevious" }
Сочетания клавиш по умолчанию:
{ "keys": "alt+down", "id": "Terminal.MoveFocusDown" },
{ "keys": "alt+left", "id": "Terminal.MoveFocusLeft" },
{ "keys": "alt+right", "id": "Terminal.MoveFocusRight" },
{ "keys": "alt+up", "id": "Terminal.MoveFocusUp" },
{ "keys": "ctrl+alt+left", "id": "Terminal.MoveFocusPrevious" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
direction |
Обязательное поле | "left" , "right" , "up" "down" "previous" "previousInOrder" "nextInOrder" "first" "parent" "child" |
Направление, в котором будет перемещен фокус. |
Принятые direction
значения
up
, ,down
left
илиright
переместить фокус в заданном направлении.first
Перемещает фокус на первую конечную панель в дереве.previous
перемещает фокус на последнюю используемую панель перед текущей областью.nextInOrder
,previousInOrder
перемещает фокус на следующую или предыдущую область в порядке создания.parent
перемещает фокус, чтобы выбрать родительскую панель текущей панели. Это позволяет пользователю одновременно выбирать несколько областейchild
переместите фокус на первую дочернюю панель этой области.
Панель перемещения
Переместите активную панель на другую вкладку в окне.
Имя команды: movePane
Идентификаторы по умолчанию:
{ "command": { "action": "movePane", "index": 0 }, "id": "Terminal.MovePaneToTab0" },
{ "command": { "action": "movePane", "index": 1 }, "id": "Terminal.MovePaneToTab1" },
{ "command": { "action": "movePane", "index": 2 }, "id": "Terminal.MovePaneToTab2" },
{ "command": { "action": "movePane", "index": 3 }, "id": "Terminal.MovePaneToTab3" },
{ "command": { "action": "movePane", "index": 4 }, "id": "Terminal.MovePaneToTab4" },
{ "command": { "action": "movePane", "index": 5 }, "id": "Terminal.MovePaneToTab5" },
{ "command": { "action": "movePane", "index": 6 }, "id": "Terminal.MovePaneToTab6" },
{ "command": { "action": "movePane", "index": 7 }, "id": "Terminal.MovePaneToTab7" },
{ "command": { "action": "movePane", "index": 8 }, "id": "Terminal.MovePaneToTab8" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
index |
Обязательное поле | number | Отсчитываемый от нуля индекс вкладки для перемещения в |
Области переключения
Переключите положение двух панелей на вкладке. Это работает на активной панели и целевой панели, как указано параметром direction
.
Имя команды: swapPane
Идентификаторы по умолчанию:
{ "command": { "action": "swapPane", "direction": "down" }, "id": "Terminal.SwapPaneDown" },
{ "command": { "action": "swapPane", "direction": "left" }, "id": "Terminal.SwapPaneLeft" },
{ "command": { "action": "swapPane", "direction": "right" }, "id": "Terminal.SwapPaneRight" },
{ "command": { "action": "swapPane", "direction": "up" }, "id": "Terminal.SwapPaneUp" },
{ "command": { "action": "swapPane", "direction": "previous"}, "id": "Terminal.SwapPanePrevious" },
{ "command": { "action": "swapPane", "direction": "previousInOrder"}, "id": "Terminal.SwapPanePreviousInOrder" },
{ "command": { "action": "swapPane", "direction": "nextInOrder"}, "id": "Terminal.SwapPaneNextInOrder" },
{ "command": { "action": "swapPane", "direction": "first" }, "id": "Terminal.SwapPaneFirst" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
direction |
Обязательное поле | "left" , "right" , "up" "down" "previous" "previousInOrder" "nextInOrder" "first" "parent" "child" |
Направление, в котором будет перемещен фокус. |
Принятые direction
значения (это те же значения, что moveFocus
и команда)
up
, ,down
left
илиright
: переключение активной панели на одну из них в заданном направлении.first
: переключите активную панель на первую конечную панель в дереве.previous
: переключите активную панель на последнюю используемую панель перед текущей областью.nextInOrder
,previousInOrder
: переключение активной панели на следующую или предыдущую область в порядке создания.parent
: ничего не делает.child
: ничего не делает.
Масштабирование области
Расширяет область, находящуюся в фокусе, таким образом, чтобы она заполнила всю зону окна.
Имя команды: togglePaneZoom
Идентификатор по умолчанию:
{ "command": "togglePaneZoom", "id": "Terminal.TogglePaneZoom" }
Изменить размер области
Изменяет размер активной панели.
Имя команды: resizePane
Идентификаторы по умолчанию:
{ "command": { "action": "resizePane", "direction": "down" }, "id": "Terminal.ResizePaneDown" },
{ "command": { "action": "resizePane", "direction": "left" }, "id": "Terminal.ResizePaneLeft" },
{ "command": { "action": "resizePane", "direction": "right" }, "id": "Terminal.ResizePaneRight" },
{ "command": { "action": "resizePane", "direction": "up" }, "id": "Terminal.ResizePaneUp" }
Сочетания клавиш по умолчанию:
{ "keys": "alt+shift+down", "id": "Terminal.ResizePaneDown" },
{ "keys": "alt+shift+left", "id": "Terminal.ResizePaneLeft" },
{ "keys": "alt+shift+right", "id": "Terminal.ResizePaneRight" },
{ "keys": "alt+shift+up", "id": "Terminal.ResizePaneUp" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
direction |
Обязательное поле | "left" , , "right" "up" "down" |
Направление изменения размера панели. |
Добавление к области метки, указывающей на то, что она доступна только для чтения
Можно отметить область как доступную только для чтения. Это предотвратит переход поступление вводимых данных в текстовый буфер. При попытке закрыть область, доступную только для чтения, или ввести в нее текст в терминале будет отображаться всплывающее предупреждение.
Имя команды: toggleReadOnlyMode
Идентификатор по умолчанию:
{ "command": "toggleReadOnlyMode", "id": "Terminal.ToggleReadOnlyMode" }
Режим только для чтения можно включить на панели. Это работает так же, как переключение, однако не будет переключаться состояние при повторном срабатывании.
Имя команды: enableReadOnlyMode
Идентификатор по умолчанию:
{ "command": "enableReadOnlyMode", "id": "Terminal.EnableReadOnlyMode" }
Режим только для чтения можно отключить на панели. Это работает так же, как переключение, однако не будет переключаться состояние при повторном срабатывании.
Имя команды: disableReadOnlyMode
Идентификатор по умолчанию:
{ "command": "disableReadOnlyMode", "id": "Terminal.DisableReadOnlyMode" }
Перезапуск области
Эта команда вручную перезагрузит commandline
в активной области. Это особенно удобно для таких сценариев, когда ssh
может потребоваться перезапустить подключение, не закрывая панель.
Обратите внимание, что этот процесс завершится в области, если он запущен в данный момент.
Имя команды: restartConnection
Идентификатор по умолчанию:
{ "command": "restartConnection", "id": "Terminal.RestartConnection" }
Команды интеграции с буфером обмена
Копия
Копирует в буфер обмена выбранное содержимое терминала. Если ничего не выбрано, действие сочетания клавиш направляется непосредственно на терминал.
Имя команды: copy
Идентификатор по умолчанию:
{ "command": { "action": "copy", "singleLine": false }, "id": "Terminal.CopyToClipboard" }
Сочетания клавиш по умолчанию:
{ "keys": "ctrl+c", "id": "Terminal.CopyToClipboard" },
{ "keys": "ctrl+shift+c", "id": "Terminal.CopyToClipboard" },
{ "keys": "ctrl+insert", "id": "Terminal.CopyToClipboard" },
{ "keys": "enter", "id": "Terminal.CopyToClipboard" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
singleLine |
Необязательно | true , false |
Если задано значение true , содержимое будет скопировано в виде одной строки. Если задано значение false , символы новой строки сохраняются из выделенного текста. |
copyFormatting |
Необязательно | true , , false "none" "all" "html" ,"rtf" |
Если задано значение true , то цвет и форматирование шрифта выбранного текста также копируются в буфер обмена. Если задано значение false , в буфер обмена копируется только обычный текст. Кроме того, вы можете указать, какие форматы нужно копировать. Если задано значение null , наследуется поведение глобальной команды "copyFormatting" . |
Вставить
Вставляет содержимое, скопированное в буфер обмена.
Имя команды: paste
Идентификатор по умолчанию:
{ "command": "paste", "id": "Terminal.PasteFromClipboard" }
Сочетания клавиш по умолчанию:
{ "keys": "ctrl+v", "id": "Terminal.PasteFromClipboard" },
{ "keys": "ctrl+shift+v", "id": "Terminal.PasteFromClipboard" },
{ "keys": "shift+insert", "id": "Terminal.PasteFromClipboard" }
Разверните выделение в слово
Если выделен фрагмент текста, этот параметр расширяет выделение, чтобы полностью охватывать все частично выбранные слова.
Имя команды: expandSelectionToWord
Идентификатор по умолчанию:
{ "command": "expandSelectionToWord", "id": "Terminal.ExpandSelectionToWord" }
Выделить все
Выделяется все содержимое текстового буфера.
Имя команды: selectAll
Идентификатор по умолчанию:
{ "command": "selectAll", "id": "Terminal.SelectAll" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+a", "id": "Terminal.SelectAll" }
Режим пометки
Этот переключатель переключает режим пометки. Режим пометки — это режим, в котором вы можете использовать клавиатуру для создания выделения в позиции курсора в терминале.
Имя команды: markMode
Идентификатор по умолчанию:
{ "command": "markMode", "id": "Terminal.ToggleMarkMode" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+m", "id": "Terminal.ToggleMarkMode" }
Переключатель маркера выделения
При изменении выделения с помощью клавиатуры вы перемещаете один конец выделения. Это действие можно использовать для переключения на другой маркер выделения.
Имя команды: switchSelectionEndpoint
Идентификатор по умолчанию:
{ "command": "switchSelectionEndpoint", "id": "Terminal.SwitchSelectionEndpoint" },
Выбор блока переключателя
Делает существующий выбор блока выделенным, то есть выбранная область является прямоугольником, а не к началу и концу каждой строки.
Имя команды: toggleBlockSelection
Идентификатор по умолчанию:
{ "command": "toggleBlockSelection", "id": "Terminal.ToggleBlockSelection" },
Команды обратной прокрутки
Прокрутка вверх
Прокручивает страницу вверх на число строк, определенное в параметре "rowsToScroll"
. Если параметр "rowsToScroll"
не указан, страница прокручивается вверх на число строк, определенное в системе по умолчанию, то есть то же число, что и при прокрутке мышью.
Имя команды: scrollUp
Идентификатор по умолчанию:
{ "command": "scrollUp", "id": "Terminal.ScrollUp" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+up", "id": "Terminal.ScrollUp" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
rowsToScroll |
Необязательно | Целое | Число строк для прокрутки. |
Прокрутка вниз
Прокручивает страницу вниз на число строк, определенное в параметре "rowsToScroll"
. Если параметр "rowsToScroll"
не указан, страница прокручивается вниз на число строк, определенное в системе по умолчанию, то есть то же число, что и при прокрутке мышью.
Имя команды: scrollDown
Идентификатор по умолчанию:
{ "command": "scrollDown", "id": "Terminal.ScrollDown" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+down", "id": "Terminal.ScrollDown" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
rowsToScroll |
Необязательно | Целое | Число строк для прокрутки. |
Прокрутить всю страницу вверх
Прокручивает всю страницу вверх на высоту размера окна.
Имя команды: scrollUpPage
Идентификатор по умолчанию:
{ "command": "scrollUpPage", "id": "Terminal.ScrollUpPage" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+pgup", "id": "Terminal.ScrollUpPage" }
Прокрутить всю страницу вниз
Прокручивает всю страницу вниз на высоту размера окна.
Имя команды: scrollDownPage
Идентификатор по умолчанию:
{ "command": "scrollDownPage", "id": "Terminal.ScrollDownPage" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+pgdn", "id": "Terminal.ScrollDownPage" }
Прокрутка до первой записи журнала
Переход в начало входного буфера.
Имя команды: scrollToTop
Идентификатор по умолчанию:
{ "command": "scrollToTop", "id": "Terminal.ScrollToTop" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+home", "id": "Terminal.ScrollToTop" }
Прокрутка до последней записи журнала
Переход в конец входного буфера.
Имя команды: scrollToBottom
Идентификатор по умолчанию:
{ "command": "scrollToBottom", "id": "Terminal.ScrollToBottom" }
Сочетание по умолчанию:
{ "keys": "ctrl+shift+end", "id": "Terminal.ScrollToBottom" }
Очистить буфер
Это действие можно использовать для очистки буфера терминала вручную. Это полезно, если вы не находитесь в командной строке оболочки командной строки и не можете легко выполнить Clear-Host
/cls
/clear
.
Имя команды: clearBuffer
Идентификатор по умолчанию:
{ "command": { "action": "clearBuffer", "clear": "all" }, "id": "Terminal.ClearBuffer" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
clear |
Необязательно | "screen" , , "scrollback" "all" |
Часть экрана, которая должна быть очищена.
|
___
Команды настройки визуальных элементов
Изменить размер шрифта
Размер текста изменится на заданное значение.
Имя команды: adjustFontSize
Идентификаторы по умолчанию:
{ "command": { "action": "adjustFontSize", "delta": 1 }, "id": "Terminal.IncreaseFontSize" },
{ "command": { "action": "adjustFontSize", "delta": -1 }, "id": "Terminal.DecreaseFontSize" }
Сочетания клавиш по умолчанию:
{ "keys": "ctrl+plus", "id": "Terminal.IncreaseFontSize" },
{ "keys": "ctrl+minus", "id": "Terminal.DecreaseFontSize" },
{ "keys": "ctrl+numpad_plus", "id": "Terminal.IncreaseFontSize" },
{ "keys": "ctrl+numpad_minus", "id": "Terminal.DecreaseFontSize" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
delta |
Обязательное поле | Целое | Объем изменения размера на вызов команды. |
Сбросить размер шрифта
Сбрасывает размер текста до значения по умолчанию.
Имя команды: resetFontSize
Идентификатор по умолчанию:
{ "command": "resetFontSize", "id": "Terminal.ResetFontSize" }
Сочетания клавиш по умолчанию:
{ "keys": "ctrl+0", "id": "Terminal.ResetFontSize" },
{ "keys": "ctrl+numpad_0", "id": "Terminal.ResetFontSize" }
Настроить непрозрачность
Это изменит прозрачность окна. Если для параметра 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": 75 } },
{ "command": { "action": "adjustOpacity", "relative": false, "opacity": 100 } }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
opacity |
Необязательно | Целое | Степень непрозрачности терминала или изменение непрозрачности с учетом значения relative . |
relative |
Необязательно | Логический | Если задано значение true, настройте текущее значение непрозрачности с помощью указанного параметра opacity . Если задано значение false, настройте непрозрачность в точности в соответствии с этим значением. |
Переключение эффектов построителя текстуры
Переключает любые эффекты построителя текстуры, включенные в терминале. Если пользователь указал допустимый шейдер с помощью experimental.pixelShaderPath
, это действие будет включать и отключать этот шейдер. Это также позволит переключить эффект ретро в Терминале, включенный с помощью параметра профиля experimental.retroTerminalEffect
.
Имя команды: toggleShaderEffects
Идентификатор по умолчанию:
{ "command": "toggleShaderEffects", "id": "Terminal.ToggleShaderEffects" }
Внимание
Действие toggleRetroEffect
больше не доступно в версии 1.6 и более поздних версиях. Рекомендуется вместо него использовать toggleShaderEffects
.
Выбор цветовой схемы
Изменяет активную цветовую схему.
Имя команды: setColorScheme
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
colorScheme |
Обязательное поле | Строка | Имя (name ) применяемой цветовой схемы. |
Пример объявления:
{ "command": { "action": "setColorScheme", "colorScheme": "Campbell" }, "id": "User.SetSchemeToCampbell" }
Добавление отметки прокрутки
Добавляет метку прокрутки в текстовый буфер. Если есть выделение, метка помещается на выделение, в противном случае — на строку курсора.
Имя команды: addMark
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
color |
Необязательно | Строка в шестнадцатеричном формате: "#rgb" или "#rrggbb" |
Цвет метки. |
Пример объявления:
{ "command": { "action": "addMark", "color": "#ff00ff" }, "id": "User.AddMark" }
Внимание
Это действие стало стабильным в версии 1.21. До этой версии она была доступна только в Терминал Windows предварительной версии
Прокрутка до отметки
Прокручивает до метки прокрутки в заданном направлении. Дополнительные сведения см. в разделе "Прокрутка" и "Интеграция оболочки".
Имя команды: scrollToMark
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
direction |
Обязательное поле | "first" , , "previous" "next" "last" |
Направление прокрутки. |
Пример объявления:
{ "command": { "action": "scrollToMark", "direction": "previous" }, "id": "User.ScrollToMark" }
Внимание
Это действие стало стабильным в версии 1.21. До этой версии она была доступна только в Терминал Windows предварительной версии
Очистить знак
Очищает метку прокрутки в текущей позиции в выделенном фрагменте, если он есть, или в позиции курсора. Это экспериментальная функция, ее поддержка в будущем не гарантируется.
Имя команды: clearMark
Пример объявления:
{ "command": { "action": "clearMark" }, "id": "User.ClearMark" }
Внимание
Это действие стало стабильным в версии 1.21. До этой версии она была доступна только в Терминал Windows предварительной версии
Очистка всех меток
Очищает все метки прокрутки в текстовом буфере. Это экспериментальная функция, ее поддержка в будущем не гарантируется.
Имя команды: clearAllMarks
Пример объявления:
{ "command": { "action": "clearAllMarks" }, "id": "User.ClearAllMarks" }
Внимание
Это действие стало стабильным в версии 1.21. До этой версии она была доступна только в Терминал Windows предварительной версии
___
Предложения
Меню "Открыть предложения"
Это позволяет пользователю открывать меню предложений. Записи в меню предложений управляются свойством source
. Меню предложений работает так же, как палитра команд. При вводе в текстовое поле отфильтруются результаты, чтобы отобразить только записи, соответствующие тексту. При нажатии клавиши enter
будет выполнена выбранная запись. Нажатие esc
клавиши закроет меню.
Имя команды: showSuggestions
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
source |
Обязательное поле | любое число "recentCommands" , "tasks" или "all" |
Какие источники предложений следует использовать для заполнения этого меню. Ниже приведено описание каждого из них. |
useCommandline |
Необязательно | Логический | Если интеграция оболочки включена, и это true , меню предложений будет предварительно заполнено содержимым текущей командной строки. По умолчанию — true . |
Источники предложений
Поддерживаются следующие источники предложений:
"recentCommands"
: будет заполнено меню предложений с последними используемыми командами. Они поддерживают интеграцию оболочки, поэтому они будут доступны только в том случае, если у вас настроена оболочка для поддержки интеграции оболочки. Дополнительные сведения см. в разделе "Интеграция оболочки"."tasks"
: в меню предложений будут заполнены всеsendInput
действия из параметров."all"
: используйте все источники предложений.
Эти значения можно использовать сами в качестве строкового значения параметра или в виде массива. Например:
{ "command": { "action": "showSuggestions", "source": ["recentCommands", "tasks"] } },
{ "command": { "action": "showSuggestions", "source": "all" } },
{ "command": { "action": "showSuggestions", "source": "recentCommands" } },
В приведенном выше примере первые две команды открывают меню предложений как с последними командами, так и с задачами. Третья команда откроет меню предложений только с последними командами.
Внимание
Эта функция доступна только в предварительной версии Терминала Windows.
___
Экспорт буфера
Экспорт буфера
Это позволяет пользователю экспортировать текст буфера в файл. Если файл не существует, он будет создан. Если файл существует, его содержимое будет заменено текстом буфера терминала.
Имя команды: exportBuffer
Идентификатор по умолчанию:
{ "command": { "action": "exportBuffer" }, "id": "Terminal.ExportBuffer" }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
path |
Необязательно | Строка | Если этот параметр включен, терминал экспортирует содержимое буфера в указанный файл. В противном случае терминал откроет средство выбора файлов, в котором будет выбран файл для экспорта. |
___
Глобальные команды
Глобальный вызов
Это специальное действие, которое работает глобально в операционной системе, а не только в контексте окна терминала. При выборе это действие вызывает окно терминала. Свойства этого действия позволяют управлять тем, какое окно вызывается, в какую область оно вызывается и какое поведение окна будет при вызове.
Примечания
Все клавиши, связанные с действиями
globalSummon
в терминале, не будут работать в других приложениях, когда терминал запущен. Они всегда будут направлены на окно терминала.Если другое выполняемое приложение зарегистрировано для определенной клавиши (
keys
) с помощью APIRegisterHotKey
, терминал не сможет прослушивать эти нажатия клавиш.Экземпляры терминала с повышенными правами и без повышения прав нельзя регистрировать для одних и тех же клавиш. Это также относится к предварительной версии и стабильной версии терминала. Действия всегда будут направлены на первое запущенное приложение.
Эти нажатия клавиш будут работать, только если экземпляр терминала запущен. Сведения о том, как настроить автоматический запуск терминала при входе в систему, см. здесь:
startOnUserLogin
.
Имя команды: globalSummon
Сочетание по умолчанию:
В настоящее время эта команда не связана с параметрами по умолчанию.
{ "command": { "action": "globalSummon" } }
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
desktop |
Необязательно | any , , toCurrent onCurrent |
Определяет, как терминал будет взаимодействовать с виртуальными рабочими столами.
|
monitor |
Необязательно | any , , toCurrent toMouse |
Определяет монитор, с которого (или на какой) будет вызвано окно.
|
name |
Необязательно | Строка | Если этот параметр не задан (по умолчанию), используйте monitor и desktop , чтобы найти последнее использованное окно для вызова. Если этот параметр задан, будет вызываться окно, имя или идентификатор которого соответствуют заданному значению name . Если такое окно не существует, создается новое окно с таким именем. |
dropdownDuration |
Необязательно | Целое | По умолчанию — 0 . При указании с положительным числом, окно появляется в верхней части экрана с использованием анимации, которая длится dropdownDuration мс. 200 — обоснованное значение для этого параметра. |
toggleVisibility |
Необязательно | true , false |
По умолчанию — true . Когда задано значение true , нажатие клавиш, назначенных для этого действия, закрывает (свертывает) окно, если оно находится на переднем плане. Когда задано значение false , нажатие назначенных клавиш просто переведет окно на передний план. |
Когда name
предоставляется monitor
или desktop
name
ведет себя следующим образом:
desktop
"any"
: переход к рабочему столу, на котором открыто указанное окно."toCurrent"
: если окно находится на другом виртуальном рабочем столе, оно перемещается на текущий активный рабочий стол."onCurrent"
: если окно находится на другом виртуальном рабочем столе, оно перемещается на текущий активный рабочий стол.
monitor
"any"
: окно остается на том же мониторе, где оно сейчас открыто."toCurrent"
: если окно находится на другом мониторе, оно перемещается на монитор с текущим окном на переднем плане."toMouse"
: если окно находится на другом мониторе, оно перемещается на монитор, где находится указатель мыши.
Свойства desktop
и monitor
можно комбинировать следующими способами:
Комбинации | "desktop": "any" |
"desktop": "toCurrent" |
"desktop": "onCurrent" |
Не включается |
---|---|---|---|---|
"monitor": "any" |
Переход к рабочему столу, на котором открыто окно (только расположение) | Перемещение окна на этот рабочий стол (расположение не меняется) | Если такого окна нет на рабочем столе:
|
Вызов последнего использованного окна |
"monitor": "toCurrent" |
Переход к рабочему столу, на котором находится окно; перемещение окна на монитор с текущим окном на переднем плане. | Перемещение окна на этот рабочий стол; перемещение окна на монитор с текущим окном на переднем плане. | Если такого окна нет на рабочем столе:
|
Вызов последнего использованного окна на мониторе с текущим окном на переднем плане. |
"monitor": "toMouse" |
Переход к рабочему столу, на котором находится окно; перемещение на монитор, где находится указатель мыши. | Перемещение окна на этот рабочий стол; перемещение на монитор, где находится указатель мыши. | Если такого окна нет на рабочем столе:
|
Вызов последнего использованного окна на мониторе, где находится указатель мыши. |
Не включено | Остается как есть | Перемещение к текущему рабочему столу | Только на текущем рабочем столе | Н/П |
Примеры
// 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.
{ "command": { "action": "globalSummon" }, "id": "User.MyGlobalSummon" },
// 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.
{ "command": { "action": "globalSummon", "desktop": "any" }, "id": "User.MyGlobalSummonAnyDesktop" },
// Summon the MRU window to the current desktop, leaving the position of the window untouched.
{ "command": { "action": "globalSummon", "monitor": "any" }, "id": "User.MyGlobalSummonAnyMonitor" },
// Summon the MRU window, by going to the virtual desktop the window is
// currently on, leaving the position of the window untouched.
{ "command": { "action": "globalSummon", "desktop": "any", "monitor": "any" }, "id": "User.MyGlobalSummonAnywhere" },
// Summon the MRU window with a dropdown duration of 200ms.
{ "command": { "action": "globalSummon", "dropdownDuration": 200 }, "id": "User.MyGlobalSummonDrop" },
// Summon the MRU window. If the window is already in the foreground, do nothing.
{ "command": { "action": "globalSummon", "toggleVisibility": false }, "id": "User.MyGlobalSummonIfNotVisible" },
// Summon the window named "_quake". If no window with that name exists, then create a new window.
{ "command": { "action": "globalSummon", "name": "_quake" }, "id": "User.MyGlobalSummonQuake" }
Открытие окна в режиме Quake
Это действие является специальной вариацией действия globalSummon
. Оно позволяет вызвать именно окно Quake. Это сокращенный вариант действия globalSummon
:
{
"id": "User.MySummonQuake",
"command": {
"action": "globalSummon",
"name": "_quake",
"dropdownDuration": 200,
"toggleVisibility": true,
"monitor": "toMouse",
"desktop": "toCurrent"
}
}
Если вы хотите изменить поведение действия quakeMode
, мы рекомендуем создать новую запись globalSummon
в actions
с нужными параметрами.
Имя команды: quakeMode
Идентификатор по умолчанию:
{ "command": "quakeMode", "id": "Terminal.QuakeMode" }
Выполнить несколько действий
С помощью этого действия пользователь может соединить несколько последовательных действий в одну команду. Эти действия не поддерживают идентификаторы.
Имя команды: multipleActions
Параметры
Имя. | Обязательный | Принимает | Description |
---|---|---|---|
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+=", включите эти команды в actions
раздел файла settings.json.
{
"keybindings": [
{ "id": "unbound", "keys": "alt+shift+-" },
{ "id": "unbound", "keys": "alt+shift+=" }
]
}
Пример использования NULL:
Можно также отменить привязку нажатия клавиш, по умолчанию связанных с действием, задав для "id"
значение null
. Это также позволит связать нажатие клавиш с параметром приложения командной строки вместо действия, выполняемого по умолчанию.
{
"id" : null, "keys" : ["ctrl+v"]
}
Сценарий использования:
Терминал Windows использует привязку сочетания клавишCtrl+V в качестве команды вставки. При работе с командной строкой WSL, возможно, потребуется использовать приложение Linux, например Vim, для редактирования файлов. Однако Vim использует привязку клавиш CTRL+V для использования блочного визуального режима. Эта привязка ключей будет заблокирована и команда вставки в Терминале Windows получит приоритет, если только вы не настроили параметр unbound
в файле settings.json, чтобы сочетание клавиш было связано с приложением командной строки Vim, а не Терминалом Windows.
Windows Terminal