Как настроить окно терминала

Кастомизация командной строки для пользователей Windows

Перевод статьи «PowerShell Themes and Windows Terminal Color Schemes – How to Customize Your Command Line».

Недавно я настраивал Windows Terminal для своей локальной среды разработки. В этой статье, написанной по горячим следам, я расскажу, как это делается.

Скачать Windows Terminal можно из Microsoft Store. Сделайте это, если еще не сделали и если у вас Windows 10. В более ранних версиях Windows Terminal недоступен.

Как настроить меню PowerShell

Одно из самых больших преимуществ Windows Terminal — возможность использовать несколько оболочек в одном окне, переключаясь между вкладками.

Установив приложение, откройте терминал и нажмите на значок v вверху (рядом с открытой вкладкой). Вы увидите список доступных терминалов, но их мы пока проигнорируем.

В выпадающем меню выберите опцию «Settings» («Настройки»). Это откроет файл settings.json в вашем дефолтном текстовом редакторе.

В этом файле вы найдете довольно много настроек. Первое, на что нужно обратить внимание, — свойство profiles . Оно содержит все опции выбора терминала. Вложенное свойство defaults содержит дефолтные настройки для всех профилей, а свойство list — профили ваших терминалов.

Давайте рассмотрим свойство list . В настоящий момент оно содержит примерно такие значения:

Свойство list — это массив объектов. Оно определяет, какие исполняемые файлы могут загружаться через Windows Terminal. В нашем примере доступные опции — Windows PowerShell и приглашение командной строки CMD.

Давайте разберем свойства в этих объектах:

  • guid — уникальный идентификатор (Globally Unique Identifier). Используется исключительно для настройки defaultProfile , которую мы рассмотрим позже.
  • name — имя, отображаемое в выпадающем списке, когда вы открываете новую вкладку в Windows Terminal.
  • commandline — исполняемый файл, который загружается при открытии вкладки этого профиля.
  • hidden — булево значение, определяющее, появляется ли данный профиль в выпадающем списке для новой вкладки. Если вы нечасто пользуетесь каким-нибудь терминалом, можно поставить для него значение true , чтобы он не показывался в списке. Таким образом вы сохраните настройки этого терминала, но в выпадающем списке будете видеть только те терминалы, которые вам нужны.

Пример пользовательской настройки PowerShell Windows Terminal

Вполне вероятно, что вы сможете обойтись дефолтными настройками (это зависит от вашей среды разработки). Я большую часть работы выполняю в Windows Subsystems for Linux (WSL 2), но периодически пользуюсь Git Bash, поэтому у меня есть пара дополнительных опций.

Здесь вы видите несколько новых свойств:

  • source : Это свойство генерируется автоматически, когда Windows Terminal обнаруживает и генерирует профиль для исполняемого файла нового терминала. Не нужно добавлять это свойство, если вы конструируете профиль вручную.
  • icon : Используется для выбора, какой .ico-файл значка должен появляться рядом с именем в выпадающем списке новой вкладки.
  • startingDirectory : Путь к файлу, на который будет указывать Windows Terminal при загрузке новой вкладки с этим профилем.

Как создать пользовательский профиль в PowerShell

Windows Terminal не сгенерировал настройки профиля для Git Bash, так что мне пришлось сделать это вручную. Если вам нужно сделать то же самое, вот инструкция.

Сначала нужно сгенерировать значение guid . Оно имеет формат <00000000-0000-0000-0000-000000000000>. Сгенерировать его можно в Windows PowerShell, запустив [guid]::NewGuid() , или в WSL, запустив uuidgen .

Затем определите путь к исполняемому файлу в свойстве commandline . Значение %PROGRAMFILES% указывает на вашу директорию «Program Files» («Файлы программ») и учитывает разницу между путями для 32 и 64-битных приложений.

Читайте также:  Эбу не работает кондиционер

Если же ваша инсталляция расположена в вашей директории пользователя, вы можете использовать значение %USERPROFILE% . Флаги -i -l используются для того, чтобы Windows Terminal корректно загружал ваш файл .bashrc.

Свойство icon можно пропустить. Но если вы хотите, чтобы в выпадающем списке рядом с названием терминала отображался значок, здесь нужно указать путь к файлу изображения.

Свойство name указывать обязательно, оно определяет имя, которое будет показываться в выпадающем списке. Здесь я использовал «Git Bash», чтобы четко понимать, какой терминал откроет эта опция.

Наконец, для свойства startingDirectory нужно установить путь к директории, которую терминал будет «считать» дефолтной. У себя я поставил %USERPROFILE% , что указывает терминалу на мою директорию пользователя Windows. Благодаря этому я могу быстро переходить в мою папку «Документы» и прочие папки.

Как настроить ваш дефолтный профиль в PowerShell Windows Terminal

Если вы прокрутите назад файл settings.json, вы увидите свойство defaultProfile . Эта опция принимает значение guid , которое должно совпадать с одним из значений guid в вашем массиве list . Вкладка профиля, guid которого вы здесь укажете, будет загружаться при старте Windows Terminal.

Поскольку большую часть своей работы я делаю в WSL, я установил именно его guid в качестве значения для свойства defaultProfile .

Теперь при открытии приложения Windows Terminal сразу загружается экземпляр WSL.

Как составить собственную цветовую схему в PowerShell Windows Terminal

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

Под свойством profiles в файле settings.json вы найдете свойство schemes . Оно содержат массив объектов цветовых схем, выглядит это примерно так:

Если вы использовали инструменты вроде пакета chalk в npm, вы можете узнать некоторые из значений цветов (purple здесь — это magenta в chalk).

  • name : используется для назначения цветовой схемы одному из профилей, созданных нами ранее.
  • cursorColor : определяет цвет курсора.
  • selectionBackground : определяет цвет фона для выделенного текста.
  • background : задает цвет фона в вашем терминале.
  • foreground : задает цвет переднего плана для терминала. В моей текущей конфигурации я не ощутил никаких отличий при изменении этого значения.

Свойства цветов определяют конкретные цветовые коды. Для своего цветового профиля я установил следующие настройки:

Советую поиграться с этими значениями, пока не подберете набор цветов, полностью удовлетворяющий ваши требования.

Как связать цветовую схему с профилем

Настроив цвета, нужно как-то привязать их к профилю терминала. Эти настройки можно применить в свойстве defaults (свойство, вложенное в свойство profiles ). Таким образом настроенная цветовая схема применится ко всем вашим терминалам. Но я предпочитаю настраивать разные цвета для разных терминалов, чтобы было удобно определять, в правильной ли вкладке я нахожусь.

Давайте применим эту цветовую схему для профиля WSL. Добавьте ключ colorScheme в ваш объект профиля и задайте ему значение — name вашей схемы. У вас должно получиться что-то вроде этого:

Перезапустив Windows Terminal, вы увидите уже новые цвета.

Дополнительные настройки внешнего вида

В моем объекте WSL-профиля есть несколько дополнительных настроек:

Вы можете включить их в объект своего профиля, подогнав по вкусу.

  • useAcrylic : В Windows 10 включает эффект прозрачности для фона терминала.
  • Если включен эффект прозрачности, при помощи acrylicOpacity можно отрегулировать его интенсивность. Чем ниже число, тем выше прозрачность.
  • fontFace : Выбор шрифта для терминала. Учтите, что выбранный шрифт должен быть установлен в вашем компьютере. Я использую шрифт PxPlus IBM VGA8.
  • fontSize : определяет размер шрифта (в pt).
  • experimental.retroTerminalEffect : Моя любимая настройка. Создает ретроэффект, напоминающий вид экрана старых CRT-мониторов.

Вот как выглядит итоговый результат моих настроек:

Любую из этих настроек внешнего вида можно добавить в defaultSettings , чтобы применить глобально, ко всем профилям.

Читайте также:  Мастер когда сломался холодильник

Дополнительные настройки в PowerShell Windows Terminal

Есть несколько дополнительных настроек, на которые стоит обратить внимание.

После свойства schemes идет свойство actions . В нем содержится массив настроек с сочетаниями клавиш.

По умолчанию в Windows Terminal копирование и вставка осуществляется нажатием Ctrl+Shift+C и Ctrl+Shift+V соответственно. Но вы можете назначить сочетание Ctrl+C и Ctrl+V :

Опция singleLine со значением false предохраняет от разрыва строк при копировании текста.

Практически вверху вашего файла settings.json есть еще два свойства, влияющие на поведение при копировании текста из терминала:

  • copyOnSelect по умолчанию имеет значение false . Если поставить true , выделение текста мышью будет копировать этот текст в буфер.
  • copyFormatting тоже по умолчанию имеет значение false . Если поставить true , будет копироваться и форматирование текста (по умолчанию копируется как plain text).

Копировать текст из терминала в целом безопасно, но вставлять в него текст нужно с осторожностью. Windows Terminal имеет пару настроек, защищающих от ненужного риска:

  • largePasteWarning по умолчанию имеет значение true . В вашем файле settings.json его может и не быть. Эта настройка вызывает диалогове окно при попытке вставить более 5KB содержимого.
  • multiLinePasteWarning по умолчанию имеет значение true . В вашем файле settings.json его тоже может не быть. Эта настройка вызывает диалоговое окно при попытке вставить текст, содержащий разрывы строки (это распространенный прием атаки с захватом буфера обмена, суть ее в том, чтобы при вставке начали запускаться какие-то команды).

Я настоятельно рекомендую оставить эти настройки и ничего не менять.

Дополнительные источники

Поздравляю! Вот вы и сделали собственный вариант настройки Windows Terminal.

Чтобы узнать о других способах кастомизации, не раскрытых в этой статье, обратитесь к документации: Windows Terminal Customization Documentation.

Что касается цветовых схем, есть много готовых вариантов, которые можно скачать в виде JSON-файлов. Вы найдете их в Windows Terminal Themes. Именно там я нашел свою схему, которую лишь немного подкрутил по своему вкусу.

Источник

Начало работы с Windows Terminal

Привет, Хабр! Сегодня делимся гайдом по началу работы с Windows Terminal. Да, поскольку он о начале работы с инструментом, в основном в материале описываются какие-то базовые моменты. Но я думаю, что и профессионалы смогут подчерпнуть для себя что-то полезное, как минимум из списка полезных ссылок в конце статьи. Заглядывайте под кат!

Установка

Windows Terminal доступен в двух разных сборках: Windows Terminal и Windows Terminal Preview. Обе сборки доступны для загрузки в Microsoft Store и на странице выпусков GitHub.

Требования

Для запуска любой сборки Windows Terminal на вашем компьютере должна быть установлена Windows 10 1903 или более поздняя версия.

Windows Terminal Preview

Windows Terminal

Терминал Windows — это основная сборка продукта. Функции, которые поступают в Windows Terminal Preview, появляются в Windows Terminal через месяц эксплуатации. Это позволяет проводить обширное тестирование ошибок и стабилизацию новых функций. Эта сборка предназначена для тех, кто хочет получить функции после того, как они были изучены и протестированы сообществом Preview.

Первый запуск

После установки терминала вы можете запустить приложение и сразу приступить к работе с командной строкой. По умолчанию терминал включает профили Windows PowerShell, Command Prompt и Azure Cloud Shell в раскрывающемся списке. Если на вашем компьютере установлены дистрибутивы Подсистемы Windows для Linux (WSL), они также должны динамически заполняться как профили при первом запуске терминала.

Профили

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

Читайте также:  Почему может не работать диспетчер задач

Дефолтный профиль

При первом запуске Windows Terminal в качестве профиля по умолчанию устанавливается Windows PowerShell. Профиль по умолчанию — это профиль, который всегда открывается при запуске терминала, и это профиль, который открывается при нажатии кнопки новой вкладки. Вы можете изменить профиль по умолчанию, установив «defaultProfile» на имя вашего предпочтительного профиля в файле settings.json.

Добавление нового профиля

Новые профили можно добавлять динамически с помощью терминала или вручную. Терминал Windows автоматически создаст профили для распределений PowerShell и WSL. Эти профили будут иметь свойство «source», которое сообщает терминалу, где он может найти соответствующий исполняемый файл.

Если вы хотите создать новый профиль вручную, вам просто нужно сгенерировать новый «guid», указать «name» и предоставить исполняемый файл для свойства «commandline».

Примечание. Вы не сможете скопировать свойство «source» из динамически созданного профиля. Терминал просто проигнорирует этот профиль. Вам нужно будет заменить «source» на «commandline» и предоставить исполняемый файл, чтобы дублировать динамически созданный профиль.

Структура Settings.json

В Терминал Windows включены два файла настроек. Один из них — defaults.json, который можно открыть, удерживая клавишу Alt и нажав кнопку «Настройки» в раскрывающемся списке. Это неизменяемый файл, который включает в себя все настройки по умолчанию, которые поставляются с терминалом. Второй файл — settings.json, в котором вы можете применить все свои пользовательские настройки. Доступ к нему можно получить, нажав кнопку «Настройки» в раскрывающемся меню.

Файл settings.json разделен на четыре основных раздела. Первый — это объект глобальных настроек, который находится в верхней части файла JSON внутри первого <. Примененные здесь настройки повлияют на все приложение.

Следующим основным разделом файла является объект «profiles». Объект «profiles» разделен на два раздела: «defaults» и «list». Вы можете применить настройки профиля к объекту «defaults», и они будут применяться ко всем профилям в вашем «list». «list» содержит каждый объект профиля, который представляет профили, описанные выше, и это элементы, которые появляются в раскрывающемся меню вашего терминала. Настройки, примененные к отдельным профилям в «списке», имеют приоритет над настройками, примененными в разделе «defaults».

Далее в файле расположен массив «schemes». Здесь можно разместить собственные цветовые схемы. Отличный инструмент, который поможет вам создать свои собственные цветовые схемы, — это terminal.sexy.

Наконец, в нижней части файла находится массив «actions». Перечисленные здесь объекты добавляют действия в ваш терминал, которые можно вызывать с клавиатуры и/или находить внутри палитры команд.

Базовая кастомизация

Вот несколько основных настроек, которые помогут вам начать настройку вашего терминала.

Одна из самых популярных настроек — настраиваемое фоновое изображение. Это настройка профиля, поэтому ее можно либо поместить внутри объекта «defaults» внутри объекта «profiles», чтобы применить ко всем профилям, либо внутри определенного объекта профиля.

Параметр «backgroundImage» принимает расположение файла изображения, которое вы хотите использовать в качестве фона вашего профиля. Допустимые типы файлов: .jpg, .png, .bmp, .tiff, .ico и .gif.

Цветовая схема

Список доступных цветовых схем можно найти на нашем сайте документации. Цветовые схемы применяются на уровне профиля, поэтому вы можете поместить настройку внутри «значений по умолчанию» или в конкретный объект профиля.

Этот параметр принимает название цветовой схемы. Вы также можете создать свою собственную цветовую схему и поместить ее в список «schemes», а затем установить в настройках профиля имя этой новой схемы, чтобы применить ее.

Начертание шрифта

По умолчанию Windows Terminal использует Cascadia Mono в качестве шрифта. Начертание шрифта — это настройка уровня профиля. Вы можете изменить шрифт, установив «fontFace» на имя шрифта, который вы хотите использовать.

Совет: Терминал Windows также поставляется с начертанием шрифта Cascadia Code, который включает программные лигатуры (см. Gif ниже). Если вы используете Powerline, Cascadia Code также поставляется в PL-версии, которую можно загрузить с GitHub.

Источник

Оцените статью