Windows Terminal – приложение Windows 10 для одновременной работы с PowerShell, CMD, WSL
Как установить Windows Terminal в Windows 10
Летом 2019 в магазине Windows (Microsoft Store) был представлен бесплатный инструмент командной строки под
названием Windows Terminal (Терминал Windows). Пока он распространяется в виде предварительной
версии (Preview).
Терминал Windows является приложением, предназначенным для создания удобной среды пользователям, использующим оболочку PowerShell, командную строку (CMD) и подсистему Windows для Linux (Windows Subsystem for Linux - WSL). Он является усовершенствованным терминалом, который отличается от терминалов предыдущего поколения следующими особенностями:
- поддерживает вкладки, можно одновременно работать с несколькими консольными приложениями.
- использует улучшенные шрифты и рендеринг текста, выполняемый с помощью графического процессора.
- поддерживает темы и настройки, позволяя пользователям персонализировать свой терминал.
- обеспечивает использование комбинаций клавиш, которые можно настроить под свои предпочтения.
По внешнему виду и своим возможностям Windows Terminal очень похож на терминалы операционных систем семейства Linux. Очевидно, что в ближайшее время он станет штатным программным средством, входящим в базовый набор утилит Windows 10 и последующих ОС от Microsoft.
Windows Terminal - это приложение Univeral Windows Platform (UWP), и как все подобные приложения располагается в каталоге %LOCALAPPDATA%\Packages\имя пакета.
Исполняемый файл терминала - wt.exe. Символьная ссылка на него присутствует в путях поиска исполняемых файлов, определяемых переменной PATH, поэтому, для запуска терминала можно использовать не только стандартное меню Windows 10, но и комбинацию клавиш Win+R и ввод wt.
После запуска терминала открывается окно с вкладкой Windows PowerShell. Для открытия дополнительных вкладок используются комбинации клавиш, по которым можно получить подсказку:
Комбинации клавиш для открытия вкладок:
Ctrl+Shift+1 - PowerShell
Ctrl+Shift+2 - Командная строка CMD
Ctrl+Shift+3 - Azure Cloud Shell
Ctrl+Shift+4 - Kali-Linux, подсистема Windows для Linux (WSL)
Ctrl+Shift+5 - Ubuntu (WSL)
Последние две комбинации будут присутствовать только в том случае, если включена подсистема Windows для
Linux (Windows Subsystem for Linux, WSL) и установлены дистрибутивы Kali-Linux и Ubuntu.
Настройки Windows Terminal можно редактировать, выбрав пункт меню Settings. Для данной версии просмотр
и изменение настроек выполняется в приложении Блокнот (notepad.exe) путем редактирования
файла profiles.json
Настройки Windows Terminal
Файл JSON (JavaScript Object Notation), является текстовым файлом, предназначенным для обмена
данными с использованием синтаксиса языка JavaScript. Многие современные языки программирования имеют
готовый программный код для создания и обработки данных в формате JSON. Формат очень простой и легко
воспринимается человеком.
В качестве значений в JSON могут быть использованы:
Запись — это неупорядоченное множество пар ключ:значение, заключённое в фигурные скобки { }. Ключ описывается строкой, между ним и значением стоит символ :. Пары ключ-значение отделяются друг от друга запятыми. Пример:
В данном примере описан элемент настройки терминала Windows, определяющий комбинацию клавиш Ctrl+Shift+w
для закрытия вкладки.
Массив - упорядоченное множество значений. Массив заключается в квадратные скобки [ ].
Значения разделяются запятыми. Массив может иметь одно значение или быть пустым, т.е. не содержать ни
одного. В файле настроек комбинации клавиш определяются в качестве массивов. Пример:
Литералыtrue (истина), false (ложь) и null (пусто).
Строка - множество символов юникода, заключённое в двойные кавычки (массив символов). Символы также
могут быть указаны с использованием escape-последовательностей, начинающихся с обратной косой
черты \ (поддерживаются варианты \', \", \\, \/, \t, \n, \r, \f и \b), или записаны шестнадцатеричным
кодом в кодировке Unicode в виде \uXXXX. Например, определение символов-разделителей в файле настроек
Терминала Windows:
В самом начале файла profiles.json указываются глобальные настройки терминала:
{
"globals" :
{
"alwaysShowTabs" : true, - всегда показывать вкладки.
"copyOnSelect" : false, - копировать выделенный текст в буфер обмена.
"defaultProfile" : "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", - при запуске терминала открывать вкладку с указанным глобальным уникальным идентификатором guid
"initialCols" : 120, - количество знаков в строке терминала.
"initialRows" : 30, - количеств строк в терминале.
"keybindings" : [ … ] - массив, задающий комбинации клавиш, используемые в терминале.
В качестве альтернативной настройки, можно например, изменить конфигурацию таким образом, чтобы при старте терминала открывалась вкладка с командной строкой Windows (CMD). В данном случае, нужно изменить значение guid PowerShell для ключа defaultProfile на
значение guid из профиля для cmd. Профили также представлены массивом записей, определяющих настройки каждого из них:
"profiles" :
[
{ профиль1 … профильN}
Каждый профиль содержит идентификатор guid и его название name, например, для профиля командной
строки CMD:
Установив значение guid из профиля с именем cmd для ключа defaultProfile мы получим
Windows Terminal, который при запуске будет открывать вкладку с командной строкой CMD Windows.
В настройках имеются несколько профилей, уже подготовленных разработчиками или автоматически созданными
при установке дистрибутивов Linux подсистемы Windows для Linux (WSL):
Если в профиле с именем cmd изменить цветовую схему, например, указав
"colorScheme" : "Solarized Light",
То мы получим вкладку приложения командной строки с новой цветовой схемой:
Таким же образом, редактируя файл profiles.json пользователь может изменить и отдельные параметры
профиля или цветовой схемы – цвет курсора, шрифт, фоновый рисунок и т.п. Можно также создать свой собственный
профиль, цветовую схему, сменить комбинации клавиш и т.п. При этом нужно учитывать, что guid является
уникальным идентификатором в пределах конкретной системы, а также то, что изменения в настройках должны быть
сделаны с учетом правил формирования содержимого файлов JSON
Настоятельно рекомендуется перед редактированием файла настроек profiles.json, сохранить его
копию. В случае, если файл имеет синтаксические ошибки, его содержимое игнорируется и применяются настройки
по умолчанию. Если файл удалить, то при последующем запуске терминала, он будет создан заново с исходными
настройками.