- Записки IT специалиста
- Windows Terminal — новый взгляд на старые вещи
- Что такое Терминал Windows? What is Windows Terminal?
- Несколько профилей, поддерживающих различные приложения командной строки Multiple profiles supporting a variety of command line applications
- Настраиваемые схемы и конфигурации Customized schemes and configurations
- Настраиваемые действия Custom actions
- Поддержка символов Юникода и UTF-8 Unicode and UTF-8 character support
- Отрисовка текста с ускоренным GPU GPU accelerated text rendering
- Поддержка фоновых изображений Background image support
- Аргументы командной строки Command line arguments
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- Windows Terminal — новый взгляд на старые вещи
Windows Terminal — новый взгляд на старые вещи
Казалось бы, что может быть более неизменным, нежели Командная строка Windows? Это приложение, словно живое ископаемое, кажется, помнит времена первых версий Windows NT и Windows 95, возможности тоже остались где-то там, в далеких и светлых днях. То, что терминал нужно менять было понятно еще давно, но не было понятно как. Ведь терминальные приложения в современных ОС это не только командная строка, но и PowerShell, и консоли WSL. Но Microsoft отлично справилась с этой проблемой, новое приложение Windows Terminal способно не только объединить все в одном месте, но и существенно расширить возможности привычных оболочек.
Взаимоотношения Windоws и командной строки долгое время были достаточно прохладными. Основная парадигма управления системой строилась вокруг графических инструментов и мыши, а командная строка рассматривалась как дополнительный атрибут и инструмент восстановления. Ни о каком полноценном управлении системой через терминал речи не шло, даже для автоматизации предлагался отдельный скриптовый язык VBScript.
Все стало меняться с выходом PowerShell и появлением Core-версий Windows — постепенно Microsoft стала осознавать важность консольного инструмента для управления системой, и чаша весов снова качнулась в другую сторону, сегодня ряд продуктов не имеют полноценных графических инструментов настройки, зато предлагают для этого PowerShell. Подсистема Windows для Linux также не предполагает никаких графических инструментов, снова напоминая о том, что терминал не пережиток прошлого, а мощный и удобный инструмент.
Windows Terminal — это современное приложение, демонстрирующее новый взгляд Microsoft на старые вещи, причем не только новый, но и достаточно неожиданный. Это свободное ПО под лицензией MIT исходные коды которого расположены на GitHub и принять участие в его разработке может каждый. Как видим, времена действительно меняются, и компания, еще недавно называвшая открытое ПО «раковой опухолью» теперь выпускает под открытой лицензией один из основных инструментов администрирования.
Продукт доступен в двух версиях: стабильной Windows Terminal и версии для разработчиков и инсайдеров Windows Terminal Preview. Последняя получает все новые функции непосредственно после их разработки и является наиболее интересной и в дальнейшем мы будем рассматривать именно ее.
Рекомендованным способом получения приложения является Microsoft Store, но также возможны и альтернативные методы установки, более подробно о них можно узнать на странице GitHub.
После установки приложении автоматически добавит профили для всех установленных в системе консольных приложений Windows и WSL, а также будет их автоматически регистрировать при добавлении в систему, например, если вы установите новую версию PowerShell или новый экземпляр Linux в WSL. Кроме того, отдельно добавляется профиль для Azure Cloud Shell. Профилем по умолчанию является встроенный в систему Windows Power Shell.
Приятные новшества радуют с первых секунд работы с новым терминалом. Во-первых, это вкладки, теперь ничего не мешает удобно организовать рабочее пространство и не путаться в мешанине окон. Во-вторых — это рендеринг текста поддержкой ускорения на GPU, что дает отличную прорисовку шрифтов и делает текст визуально привлекательным.
К сожалению графической оболочки для настройки терминала пока нет, при выборе пункта Параметры будет открыт JSON-файл с настройками, однако это не должно пугать любителя командной строки. В конфигурационном файле сначала идут глобальные параметры, а затем описания профилей. Структура достаточно простая и не должна вызвать особых сложностей.
Прежде всего переопределим командную оболочку по умолчанию. Для этого найдите guid нужного профиля и скопируйте его в опцию defaultProfile:
Затем включим привычное Linux-пользователям поведение, когда текст копируется при его выделении и потом может быть вставлен правым кликом мыши:
Перейдем к самим профилям. Их настройки достаточно просты и очевидны: это guid, наименование, источник или командная строка запуска и видимость. Если вы не хотите видеть профиль в списке выбора, то просто установите опцию hidden в true, мы таким образом скрыли оболочку Azure.
Все изменения применяются налету, перезапускать терминал не нужно.
Еще одной долгожданной особенностью являются панели, позволяющие разделить окно терминала на несколько областей. Для разделения по горизонтали нажмите Alt + Shift + + , для разделения по вертикали Alt + Shift + — , чтобы закрыть панель используйте Ctrl + Shift + W . При этом в новой панели будет открыта командная оболочка по умолчанию. Чтобы открыть в панели другой профиль просто выберите его из списка с зажатой клавишей Alt . Для дублирования текущего профиля нажмите Alt + Shift + D . В заголовке вкладки будет отображаться наименование текущей панели.
Для изменения размера панелей используйте клавиши со стрелками одновременно зажав Alt + Shift , при этом будет меняться размер активной панели.
Терминал поддерживает практически полную кастомизацию. Можно изменять цвет, шрифт, фоновое изображение, прозрачность панелей, задавать иконки, также поддерживаются темы, включающие множество настроек для различных вариантов отображения. Мы не будем углубляться так далеко, большее количество настроек можно найти в документации: https://docs.microsoft.com/ru-ru/windows/terminal/get-started.
Но некоторые настройки мы все-же сделаем. По умолчанию все панели выглядят одинаково, что может приводить к некоторой путанице, поэтому есть смысл изменить цвет фона, чтобы быстро понимать, где какая консоль запущена, для этого добавьте в профиль опцию background с шестнадцатеричным кодом цвета, например, «родной» цвет для PowerShell:
Мы указали для разных консолей привычные цвета и сразу стало гораздо удобнее:
Также очень легко можно создавать свои профили. Допустим мы хотим добавить в терминал подключение по SSH к одному из своих Linux-серверов. Прежде всего для нового профиля нужно получить guid, для этого в среде PowerShell выполните:
Теперь добавим в конфигурационный файл секцию нового профиля:
Синтаксис довольно прост, но поясним некоторые параметры. Опция commandline указывает строку запуска, а в опции icon мы задали индивидуальную иконку профиля, для этого можно использовать как ico-файлы, так и обычные png. Иконку следует разместить в специальной директории, для Windows Terminal это:
Для Windows Terminal Preview:
После чего к ним можно будет обращаться как:
Подобным образом можно добавлять неограниченное число профилей на все случаи жизни и практически к любому приложению. Например. мы создали еще один профиль для работы с командной строкой PostgreSQL, для этого мы заглянули в «родной» bat-файл для запуска и позаимствовали оттуда строку запуска:
Обратите внимание, если это последний профиль в списке, то запятая после закрывающей фигурной скобки не ставится.
В заключение хочется сказать, что новый Windows Terminal нам очень понравился и мы рекомендуем всем, кто еще не пробовал, попробовать работу с ним. Это действительно новый подход Microsoft к старым и привычным вещам и на этот раз у них действительно получилось современное, удобное и динамично развивающееся приложение.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Что такое Терминал Windows? What is Windows Terminal?
Терминал Windows — это современное приложение терминала для пользователей таких программ и оболочек командной строки, как «Командная строка», PowerShell и «Подсистема Windows для Linux» (WSL). Windows Terminal is a modern terminal application for users of command-line tools and shells like Command Prompt, PowerShell, and Windows Subsystem for Linux (WSL). К его основным функциям относится поддержка нескольких вкладок, панелей, символов Юникода и UTF-8, а также модуль отрисовки текста с ускорением GPU, возможность создания собственных тем и настройки текста, цвета, фона и сочетаний клавиш. Its main features include multiple tabs, panes, Unicode and UTF-8 character support, a GPU accelerated text rendering engine, and the ability to create your own themes and customize text, colors, backgrounds, and shortcuts.
Несколько профилей, поддерживающих различные приложения командной строки Multiple profiles supporting a variety of command line applications
Любое приложение с интерфейсом командной строки можно выполнять в Терминале Windows. Any application that has a command line interface can be run inside Windows Terminal. Это касается всех приложений: от PowerShell и Командной строки до Azure Cloud Shell и любого дистрибутива WSL, например Ubuntu или Oh-My-Zsh. This includes everything from PowerShell and Command Prompt to Azure Cloud Shell and any WSL distribution such as Ubuntu or Oh-My-Zsh.
Настраиваемые схемы и конфигурации Customized schemes and configurations
В Терминале Windows можно настроить различные цветовые схемы и параметры. You can configure your Windows Terminal to have a variety of color schemes and settings. Сведения о создании собственной цветовой схемы см. на этой странице. To learn how to make your own color scheme, visit the Color schemes page. Пользовательские конфигурации Терминала также можно найти на странице о настраиваемой коллекции терминала. You can also find custom Terminal configurations in the Custom terminal gallery.
Настраиваемые действия Custom actions
Существует множество пользовательских команд, которые можно использовать в Терминале Windows для удобства работы. There are a variety of custom commands you can use in Windows Terminal to have it feel more natural to you. Если вам не нравится конкретное сочетание клавиш, вы можете изменить его на любое другое. If you don’t like a particular keyboard shortcut, you can change it to whatever you prefer.
Например, для копирования текста из командной строки по умолчанию используются клавиши CTRL+SHIFT+C . For example, the default shortcut to copy text from the command line is ctrl+shift+c . Вы можете изменить его на CTRL+1 или другое сочетание. You can change this to ctrl+1 or whatever you prefer. Для открытия новой вкладки по умолчанию используется сочетание клавиш CTRL+SHIFT+T , но его можно изменить на CTRL+2 . To open a new tab, the default shortcut is ctrl+shift+t , but maybe you want to change this to ctrl+2 . Для перехода на другие открытые вкладки по умолчанию используется сочетание клавиш CTRL+TAB . Его можно изменить на CTRL+- и использовать для создания новой вкладки. The default shortcut to flip between the tabs you have open is ctrl+tab , this could be changed to ctrl+- and used to create a new tab instead.
Дополнительные сведения о настройке сочетаний клавиш см. на странице «Действия». You can learn about customizing shortcuts on the Actions page.
Поддержка символов Юникода и UTF-8 Unicode and UTF-8 character support
В Терминале Windows могут отображаться символы Юникода и UTF-8, например эмодзи и символы из различных языков. Windows Terminal can display Unicode and UTF-8 characters such as emoji and characters from a variety of languages.
Отрисовка текста с ускоренным GPU GPU accelerated text rendering
Терминал Windows использует GPU для отрисовки текста, что обеспечивает повышенную производительность по сравнению с использованием интерфейса командной строки Windows по умолчанию. Windows Terminal uses the GPU to render its text, thus providing improved performance over the default Windows command line experience.
Поддержка фоновых изображений Background image support
В окне Терминала Windows можно использовать фоновые изображения и изображения в формате GIF. You can have background images and gifs inside your Windows Terminal window. Сведения о добавлении фоновых изображений в профиль см. на странице Профиль — внешний вид. Information on how to add background images to your profile can be found on the Profile — Appearance page.
Аргументы командной строки Command line arguments
Вы можете настроить запуск Терминала Windows в определенной конфигурации с помощью аргументов командной строки. You can set Windows Terminal to launch in a specific configuration using command line arguments. Вы можете указать, какой профиль следует открыть на новой вкладке и какой каталог папки следует выбрать. Кроме того, терминал можно открыть с разделенными панелями и выбрать основную вкладку. You can specify which profile to open in a new tab, which folder directory should be selected, open the terminal with split window panes, and choose which tab should be in focus.
Например, чтобы открыть Терминал Windows из PowerShell с тремя панелями (на левой панели будет запущен профиль Командной строки, а правая панель будет разделена для PowerShell и ваш профиль по умолчанию с WSL), введите: For example, to open Windows Terminal from PowerShell with three panes, with the left pane running a Command Prompt profile and the right pane split between your PowerShell and your default profile running WSL, enter:
Сведения о настройке аргументов командной строки см. на этой странице. Learn how to set up command-line arguments on the Command line arguments page.