Поделиться через


Руководство. Настройка пользовательского запроса PowerShell или WSL с помощью O My Posh

Oh My Posh предоставляет возможности темы для полностью настраиваемой командной строки, предоставляя цветовое кодирование и запросы состояния Git.

Если вы просто хотите настроить цветовую схему или внешний вид терминала, это можно сделать в параметрах Терминал Windows (без необходимости устанавливать темы О Мой Posh).

В этом руководстве описано следующее:

Настройка пользовательской командной строки Терминала Windows

Установка шрифта Nerd

Настраиваемые командные строки часто используют глифы (графический символ) для стиля запроса. Если шрифт не содержит соответствующие глифы, в запросе может появить несколько символов замены Юникода .▯.

Чтобы просмотреть все глифы в терминале, рекомендуется установить шрифт Nerd , например Cascadia Code NF, который можно скачать на странице выпуска Cascadia Code.

После скачивания необходимо распаковать и установить шрифт в системе. (Добавление нового шрифта в Windows.)

Чтобы установить шрифт Nerd для использования с Oh My Posh и значками Терминала, откройте пользовательский интерфейс параметров Терминала Windows, выбрав Настройки (CTRL+,) в раскрывающемся меню Терминала Windows. Выберите профиль, в котором нужно применить шрифт (например, PowerShell), а затем выберите "Внешний вид". В раскрывающемся меню "Шрифт" выберите Cascadia Code NF или любой шрифт Nerd, который вы хотите использовать.

Примечание.

Если вы хотите использовать шрифт терминала, который не поддерживает значки глифов, например Cascadia Code PL, рассмотрите возможность использования темы Oh My Posh, содержащей minimal функцию, указывающую, что дополнительные значки не требуются.

Настройка командной строки PowerShell с помощью Oh My Posh

Oh My Posh позволяет использовать полный набор цветов для определения и визуализации командной строки терминала, включая возможность использования встроенных тем или создания пользовательской темы.

Установка Oh My Posh для PowerShell

Чтобы настроить запрос PowerShell, установите Oh My Posh с помощью winget, который установит:

  • oh-my-posh.exe — исполняемый файл Windows;
  • themes — последние темы Oh My Posh.

Чтобы запустить установку, введите команду:

winget install JanDeDobbeleer.OhMyPosh

Вы должны будете согласиться с исходными условиями, при этом вам может встретиться экземпляр, доступный нескольким пакетам. В этом случае выберите идентификатор пакета, который вы хотите использовать, и повторно введите команду: winget install <package ID>

Снимок экрана: пакеты, возвращенные командой winget install oh my posh.

Чтобы использовать версию Oh My Posh из Microsoft Store, которая будет автоматически обновляться при наличии новых версий, используйте следующую команду:

winget install XP8K0HKJFRXGCK

Введите oh-my-posh version, чтобы подтвердить номер версии установки Oh My Posh. Чтобы убедиться, что у вас есть последние обновления, можно использовать следующую команду: winget upgrade oh-my-posh.

Примечание.

Если вы хотите установить последнюю версию Oh My Posh в PowerShell, возможно, сначала потребуется удалить кэшированные файлы модуля OMP и удалить старый модуль. Инструкции по выполнению этих действий можно найти в документации по Oh My Posh. Если вы лучше знакомы с установщиком Scoop или методом установки вручную, который предусматривает автоматизацию, их также можно использовать для установки в Windows. Просто следуйте инструкциям из документации по Oh My Posh.

Выбор и применение темы командной строки PowerShell

Полный список тем можно найти на странице тем для Oh My Posh.

Выберите тему и обновите профиль PowerShell с помощью следующей команды (вы можете заменить notepad предпочитаемым текстовым редактором):

notepad $PROFILE

Если вы получаете ошибку пути, возможно, у вас еще нет профиля для PowerShell. Чтобы создать его, используйте следующую команду PowerShell для создания профиля и повторите попытку открыть его с помощью текстового редактора.

new-item -type file -path $profile -force

Добавьте следующий фрагмент в конец файла профиля PowerShell, чтобы задать тему paradox (замените paradox предпочитаемой темой):

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression

Теперь каждый новый экземпляр PowerShell начинается с импорта О Мой Posh и настройки темы.

Если при попытке открыть новый экземпляр PowerShell возникает ошибка скрипта, политика выполнения для PowerShell может быть ограничена. Чтобы настроить политику выполнения PowerShell неограниченной, необходимо запустить PowerShell от имени администратора, а затем использовать следующую команду:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Примечание.

Это не профиль Терминала Windows. Профиль PowerShell является сценарием, который выполняется при каждом запуске PowerShell. Ознакомьтесь с дополнительными сведениями о профилях PowerShell.

Совет

Часто задаваемые вопросы и ответы на распространенные вопросы или проблемы см. в часто задаваемых вопросов и проблемах о О Мой Пош. Дополнительные сведения о конфигурации и общих параметрах, таких как восстановление текущего рабочего каталога, см. в документации по "О Мой Posh".

Настройка командной строки WSL с помощью Oh My Posh

О Мой Posh также позволяет настраивать запросы WSL с помощью встроенных тем.

Установка Oh My Posh для WSL

Рекомендуем установить Oh My Posh для WSL, используя Bash, Zsh или другое средство, следуя инструкциям по установке в Linux из документации по Oh My Posh.

Настройка запросов WSL с помощью O My Posh использует диспетчер пакетов Homebrew для установки. При установке Homebrew для Linux обязательно выполните инструкции из раздела Next steps (Дальнейшие действия), чтобы добавить Homebrew в используемый путь (PATH) и в скрипт профиля оболочки Bash.

Homebrew установит:

  • oh-my-posh — исполняемый файл, который будет добавлен в каталог /usr/local/bin;
  • themes — последние темы Oh My Posh.

Выбор и применение темы командной строки WSL

Темы Oh My Posh находятся в каталоге oh-my-posh в виде файлов JSON. Чтобы найти их, введите команду cd $(brew --prefix oh-my-posh), затем просто cd themes, а затем — ls для построения списка. Для ОС Ubuntu 20.04, работающей через WSL, путь будет выглядеть примерно так: \\wsl.localhost\Ubuntu-20.04\home\linuxbrew\.linuxbrew\Cellar\oh-my-posh\6.34.1\themes. Вы можете просмотреть, как выглядят темы в документации по темам О Мой Posh.

Чтобы использовать тему, скопируйте ее из папки themes в папку $Home, а затем добавьте в конец файла .profile, находящегося в папке $Home, следующую строку:

eval "$(oh-my-posh init bash --config ~/jandedobbeleer.omp.json)"

Вы можете заменить jandedobbeleer.omp.json имя темы, которую вы хотите использовать (просто убедитесь, что она копируется в папку $Home ).

В качестве альтернативы, если вы используете oh-my-posh и в Windows с PowerShell, и в WSL, вы можете использовать тему PowerShell также в WSL, указав ее в домашней папке пользователя Windows. В пути к файлу .profile используемого дистрибутива WSL вместо ~ укажите путь /mnt/c/Users/<WINDOWSUSERNAME>, заменив <WINDOWSUSERNAME> своим именем пользователя Windows.

При желании можно настроить темы Oh My Posh.

Добавление отсутствующих значков папок или файлов с помощью Terminal-Icons

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

Чтобы установить Terminal-Icons с помощью PowerShell, выполните следующую команду:

Install-Module -Name Terminal-Icons -Repository PSGallery

Дополнительные сведения, в том числе об использовании и командах, см. в репозитории Terminal-Icons на сайте GitHub.

Дополнительные ресурсы

  • Документация по Oh My Posh
  • Репозиторий Terminal-Icons
  • Документация по Posh-Git. Posh-Git — это модуль PowerShell, который объединяет Git и PowerShell, предоставляя сводную информацию о состоянии Git, которая может быть отображена в командной строке PowerShell.
  • Документация по PowerLine. Powerline — это подключаемый модуль строки состояния для Vim. Кроме того, он предоставляет строки состояния и командные строки для ряда других приложений, включая Zsh, Bash, tmux, IPython, Awesome, i3 и Qtile.