Панели в Терминале Windows

Панели дают возможность запускать несколько приложений командной строки рядом друг с другом на одной вкладке. Это сводит к минимуму необходимость переключения между вкладками и позволяет одновременно просматривать несколько запросов.

Создание новой панели

С помощью клавиатуры

В окне Терминала Windows можно создать новую вертикальную или горизонтальную панель. При разделении по вертикали новая панель откроется справа от выбранной панели, а при разделении по горизонтали — под выбранной панелью. При использовании направленных разделений up, right, down или left предоставляются дополнительные возможности размещения новой области. right и down эквивалентны vertical и horizontal, тогда как up и left позволяют разместить новую область выше и слева от области с фокусом соответственно. Чтобы создать новую вертикальную панель профиля по умолчанию, можно нажать сочетание клавиш ALT+SHIFT++ . Для горизонтальной области профиля по умолчанию можно использовать ALT+SHIFT+-.

Windows Terminal create paneКонфигурация: Raspberry Ubuntu

Если вы хотите изменить эти сочетания клавиш, можно создать новые, используя действие splitPane и значения vertical, horizontal, up, right, down, left или auto для свойства split в файле profiles.json. Метод 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

Использование контекстного меню вкладки

Если вы хотите открыть новую область профиля, которая уже открыта в терминале, щелкните вкладку правой кнопкой мыши и выберите команду Split Tab (Разделить вкладку). Область, находящаяся в фокусе, будет продублирована на текущей вкладке.

Windows Terminal split tab

Переключение между панелями

Терминал позволяет перемещаться между панелями с помощью клавиатуры. Зажав клавишу ALT, вы сможете перемещать фокус между областями с помощью клавиш со стрелками. Вы можете выбрать область фокуса на границе контрастного цвета. Обратите внимание, что этот контрастный цвет задается в параметрах цвета Windows.

Windows Terminal switch panes

Для настройки переключения добавьте сочетания клавиш для команды moveFocus и задайте для direction значение down, left, right или up. Кроме того, direction может быть previous для последней использованной области, previousInOrder либо nextInOrder для навигации в заданном деревом порядке или 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, за исключением parent и child. С помощью этих команд можно поменять область, которая сейчас находится в фокусе, местами с соседней в соответствии с 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 } }

Изменение ориентации разделения

После создания двух областей на вкладке ориентацию их разделения можно переключать между vertical и horizontal с помощью команды toggleSplitOrientation.

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

Изменение ориентации разделения (предварительная версия)

После создания двух областей на вкладке ориентацию их разделения можно переключать между vertical и horizontal с помощью команды toggleSplitOrientation.

{ "command": "toggleSplitOrientation" }

Изменение размера панели

Вы можете настроить размер панелей, удерживая alt+SHIFT и используя клавиши со стрелками для изменения размера фокусируемой области.

Windows Terminal resize pane

Чтобы настроить это сочетание клавиш, можно добавить новые с помощью действия resizePane и задать для direction значение down, left, right или up.

{ "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 или индекс. Если ни одно из этих значений не указано, используется профиль по умолчанию. Указать значения можно, добавив profile или index в качестве аргумента в настраиваемое сочетание клавиш splitPane и newTab. Обратите внимание, что индексация начинается с 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" }

Кроме того, можно переопределить некоторые настройки профиля, такие как исполняемый файл в командной строке, начальный каталог или заголовок вкладки. Это можно сделать, добавив commandline, startingDirectoryи (или) tabTitle в настраиваемое сочетание клавиш splitPane или newTab.

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