- Кастомизация командной строки для пользователей Windows
- Как настроить меню PowerShell
- Пример пользовательской настройки PowerShell Windows Terminal
- Как создать пользовательский профиль в PowerShell
- Как настроить ваш дефолтный профиль в PowerShell Windows Terminal
- Как составить собственную цветовую схему в PowerShell Windows Terminal
- Как связать цветовую схему с профилем
- Дополнительные настройки внешнего вида
- Дополнительные настройки в PowerShell Windows Terminal
- Дополнительные источники
- Color schemes in Windows Terminal
- Switching to a different color scheme
- Creating your own color scheme
- Как настроить новое приложение Windows Terminal
- Как настроить терминал Windows
- Синтаксис JSON
- Добавить новый профиль
- Добавить Linux Bash в Windows Terminal
- Добавить Python в Windows Terminal
- Как изменить фон
- Как изменить сочетания клавиш по умолчанию
- Как изменить цветовую схему по умолчанию
Кастомизация командной строки для пользователей 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. Именно там я нашел свою схему, которую лишь немного подкрутил по своему вкусу.
Color schemes in Windows Terminal
Windows Terminal lets you define your own color schemes, either by using the built-in preset schemes, or by creating your own scheme from scratch. To change schemes, you’ll need to edit the settings.json file in an editor such as Visual Studio Code.
Switching to a different color scheme
Launch Windows Terminal and then select the small downward-facing arrow in the title bar. This will open a pull-down menu that lists the available profiles on your system (for example, Windows PowerShell and Command Prompt) and some other options. Select Settings, and the settings.json file will open in your default text editor.
This file is where you can define various options per window or per profile. To demonstrate, let’s change the color scheme for the Command Prompt profile.
Look down the JSON file until you find the section that includes:
Change it to read:
Notice the extra comma in the hidden line. Once you save this file, Windows Terminal will update any open window. Open a Command Prompt tab if you haven’t already, and you’ll immediately see that the colors have changed.
Creating your own color scheme
The «Tango Light» scheme is included as a default option, but you can create your own scheme from scratch or by copying an existing scheme.
Color schemes can be defined in the schemes array of your settings.json file. They are written in the following format:
Every setting, aside from name , accepts a color as a string in hex format: «#rgb» or «#rrggbb» . The cursorColor and selectionBackground settings are optional.
Как настроить новое приложение Windows Terminal
Публикация: 5 Июль 2019 Обновлено: 27 Май 2020
С новым приложением Windows Terminal, Windows 10 теперь может похвастаться приложением с вкладками, которое может запускать Cmd, PowerShell, Bash и Python в одном окне. Новый терминал легко настроить, вы даже можете установить анимированные GIF-изображения в качестве фона.
Помимо фона, вы можете изменить тему терминала. Будь то цвета текста, фон или стиль шрифта, вы можете настроить Windows Terminal по своему вкусу. Microsoft даже включила несколько предустановленных тем. Все, что вам нужно, это текстовый редактор и немного общего знакомства с JSON. Если вы не знакомы с JSON, вы, все равно сможете вносить изменения; мы проведем вас через это.
Как настроить терминал Windows
Файл конфигурации json терминала Windows, позволяет пользовательскую настройку приложения.
Первый шаг к настройке Windows Terminal — убедиться, что у вас есть приложение по умолчанию, связанное с типом файла JSON. Лучший способ сделать это из проводника.
Запустите проводник и найдите файл JSON. Если у вас его нет, создайте его. кликните правой кнопкой мыши на пусто месте в окне Проводника и выберите в контекстном меню «Создать», затем нажмите «Текстовый документ».
Переименуйте файл в test.json (удалив в процессе расширение.txt) и подтвердите, что вы хотите изменить расширение. Если вы не видите расширение файла.txt, настройте проводник для показа расширения файла.
Затем кликните правой кнопкой мыши новый файл JSON и выберите параметр «Открыть с помощью». Выберите предпочитаемый текстовый редактор, будь то Notepad ++ или Блокнот.
Теперь, когда у вас есть текстовый редактор, который будет открывать файлы JSON, пришло время внести изменения в настройки терминала Windows. Откройте Windows Terminal и нажмите стрелку вниз в строке заголовка (справа от символа плюса), а затем выберите «Settings» (Настройки).
Файл JSON запустится в редакторе, который вы выбрали ранее. Вы можете сделать все настройки непосредственно в этом файле.
Синтаксис JSON
Редактировать файл Profiles.json легко, однако, если вы не знакомы с синтаксисом JSON, вам необходимо знать несколько важных моментов, прежде чем погрузиться в редактирование;
- Не используйте обратную косую черту (\) в пути к файлам. Вы должны заменить их косой чертой (/).
- Всегда закрывайте путь к файлам двойными кавычками.
- Все строки должны заканчиваться запятой, КРОМЕ последней строки в разделе или блоке.
- Раздел в файле Profiles.json начинается с его имени, в двойных кавычках. Мы будем редактировать раздел ««profiles»» (см. Скриншот ниже).
Добавить новый профиль
Прокрутите страницу до конца раздела «profiles»: и вставьте туда следующее. Вам нужно будет отредактировать его, прежде чем вы сможете сохранить настройки.
Строки, которые вам нужно отредактировать:
Помните, что если это последний профиль в разделе, вы должны удалить запятую в самом конце. Если вы планируете добавить еще один профиль ниже, оставьте запятую, но убедитесь, что последний профиль не имеет запятой за фигурной скобкой.
В строке «commandline» укажите полный путь к EXE оболочки, которую вы хотите добавить. Если вы включили подсистему Windows для Linux, вы можете просто добавить «bash.exe».
В строке «guid» вам нужно сгенерировать новый GUID и ввести его там, однако, если вы добавляете bash Ubunut, прокрутите вниз соответствующий раздел и используйте предоставленный там GUID и путь к значку. Они присутствуют по умолчанию в папке ProfileIcons.
В строке «icon» укажите полный путь к файлу значка, который вы хотите использовать. Файл должен быть в формате PNG. Значок появится в меню рядом с названием оболочки, для которой он предназначен.
В строке «name» введите имя оболочки, например, Bash, Linux или Python. Сохраните изменения, готово.
Добавить Linux Bash в Windows Terminal
Чтобы добавить Linux Bash в Windows Terminal, добавьте следующий профиль, не внося в него никаких изменений.
<
«acrylicOpacity» : 0.75,
«closeOnExit» : true,
«colorScheme» : «Campbell»,
«commandline» : «bash.exe»,
«cursorColor» : «#FFFFFF»,
«cursorShape» : «bar»,
«fontFace» : «Consolas»,
«fontSize» : 10,
«guid» : «<9acb9455-ca41-5af7-950f-6bca1bc9722f>«,
«historySize» : 9001,
«icon» : «ms-appx:///ProfileIcons/<9acb9455-ca41-5af7-950f-6bca1bc9722f>.scale-100.png»,
«name» : «Linux Bash Shell»,
«padding» : «0, 0, 0, 0»,
«snapOnInput» : true,
«startingDirectory» : «%USERPROFILE%»,
«useAcrylic» : true
>
Добавить Python в Windows Terminal
Чтобы добавить Python в новое приложение Windows Terminal, используйте следующий профиль. Вы можете изменить GUID на другой, если хотите, но это не обязательно. У вас должен быть установлен Python в вашей системе. Вы можете получить его здесь. Вам нужно будет отредактировать путь в строке «icon» и изменить его на любой файл, который вы хотите использовать для значка.
<
«acrylicOpacity» : 0.75,
«closeOnExit» : true,
«colorScheme» : «Campbell»,
«commandline» : «bash.exe»,
«cursorColor» : «#FFFFFF»,
«cursorShape» : «bar»,
«fontFace» : «Consolas»,
«fontSize» : 10,
«guid» : «<9acb9455-ca41-5af7-950f-6bca1bc9722f>«,
«historySize» : 9001,
«icon» : «D:/Users/alex/Pictures/09.png»,
«name» : «Linux Bash Shell»,
«padding» : «0, 0, 0, 0»,
«snapOnInput» : true,
«startingDirectory» : «%USERPROFILE%»,
«useAcrylic» : true
>
Сохраните изменения, внесенные в Profiles.json, и приложение Windows Terminal отобразит добавленные вами новые command line(s).
Как изменить фон
Вы можете изменить фон на любой тип файла изображения, который вам нравится — PNG, JPEG или даже анимированный GIF.
Чтобы изменить фон любой из оболочек, вам сначала нужно поместить файл изображения в место, которое может прочитать приложение терминала. Windows Terminal — это приложение Univeral Windows Platform (UWP), поэтому оно предпочитает использовать собственную папку AppData. AppData — это папка, которую вы обычно находите в профиле пользователя, и она используется для хранения настроек программы. Приложения UWP создают пользовательскую папку AppData и используют ее вместо этого. Папка AppData терминала Windows находится по следующему пути:
Просто скопируйте это в адресную сроку Проводника и нажмите Enter; Вы попадете в правильное место. Скопируйте и вставьте ваши файлы изображений в папку «RoamingState», и Windows Terminal может использовать их для фона.
Откройте настройки в терминале Windows и выделите профиль, который вы хотите изменить. В разделе « «profiles» :» есть несколько профилей. Каждый из них соответствует опции в меню: Cmd, PowerShell, дистрибутивы Linux и т. Д. Вы можете определить, любой из них, изучив строку «commandline» или «name» в каждом разделе.
Чтобы изменить фоновое изображение для одного из этих разделов, под строкой «icon» или над строкой «name» добавьте следующие строки:
Где «image.jpg» — это имя вашего изображения или GIF-файла который вы поместили в папку «RoamingState». Убедитесь, что все строки в разделе — кроме последней — заканчивается запятой.
Если для фона вы используете GIF-файл, вы можете «fill» заменить на «iformToFill». В итоге вы получите черный прямоугольник вокруг GIF картинки.
Сохраните файл, и изменения должны появиться немедленно, даже с открытым терминалом Windows.
Как изменить сочетания клавиш по умолчанию
Первый раздел в файле — относится к сочетаниям клавиш, если вам не нравятся определенные сочетания клавиш, вы можете изменить их здесь. Например, если вы хотите, закрывать вкладки с помощью Ctrl + Е , найдите этот участок:
Измените Ctrl + W на Ctrl + E (обязательно сохраняя кавычки), а затем сохраните файл.
Как изменить цветовую схему по умолчанию
Windows Terminal по умолчанию имеет несколько цветных схем, которые меняют цвет шрифта, цвет фона, форму курсора и так далее. Вы можете выбрать темы отдельно для Командной строки, Bash и PowerShell.
Чтобы изменить тему по умолчанию, сначала найдите нужный вам профиль оболочки, прокрутив до строки «profiles» : и перейдя в нужный раздел, просмотрев записи оболочки.
PowerShell находится в строке: «commandline» : «powershell.exe». Ниже измените «colorScheme» : «Campbell» на другой цвет. Вы можете выбрать из Campbell, One Half Dark, One Half Light, Solarized Dark, и Solarized Light. Например, если вы хотите использовать Solarized Light, вы должны изменить строку цветовой схемы colorScheme — «Campbell» на: «Solarized Light»
Терминал Windows довольно интересен, он напоминает функцию Windows Sets от Microsoft. Функциональность с вкладками здесь не так надежна, но это намек на то, что могло бы быть. По крайней мере, теперь вам не нужно переключать запускать программы в разных окнах просто переключайтесь между вкладками — Командной строки, Powershell и Bash.