На днях я сидел на YouTube в поисках быстрой победы в производительности и наткнулся на видео Скотта Хансельмана о создании идеального терминала Windows. В последнее время я стал больше заниматься разработкой веб-сайтов и игр на своей машине Windows, поэтому я решил попробовать и посмотреть, насколько улучшится мой опыт работы с оболочкой.
После 15 минут просмотра его видео я был захвачен и уже настраивал и адаптировал свою тему под свои нужды.
Я решил написать о своем процессе и шагах, которые я предпринял, чтобы добраться до моей окончательной настройки терминала. Процесс был похож на «oh my zsh» на Mac, если вы знакомы с этим.
Начало работы
Прежде всего, нам нужен PowerShell. Это будет работать и с другими оболочками, но для упрощения процесса мы начнем с PowerShell.
Windows 10 поставляется с «Windows Powershell», но это не то же самое, что Powershell. Вам нужно будет загрузить отдельную оболочку, если вы этого еще не сделали:
- Скачайте и установите Powershell
⚠️ Для управления разными оболочками рекомендуется использовать Windows Terminal. Это отдельная загрузка, но она автоматически подхватывает все имеющиеся у вас оболочки (от Windows PowerShell до PowerShell и даже WSL (aka Linux). Мне пришлось установить PowerShell по умолчанию в настройках терминала Windows.
Oh My Posh
Как Oh My Zsh для Mac, но для PowerShell. Стилизует ваш Powershell и отображает дополнительную информацию (например, текущую ветку Github).
Windows | Oh My Posh
Как сделать конечную панель терминала на Windows 11 — это видео длинное, многословное и подробное.
Начало работы
- Убедитесь, что Powershell установлен (см. верхнюю часть этой страницы).
- Установите oh-my-posh. Я использовал ручной метод.
- Перезапустите Powershell (или терминал Windows).
- Вы должны увидеть его! Но со сломанными шрифтами и отсутствующими глифами…
- Установите специальные шрифты от NerdFont (в основном шрифты + глифы, как FontAwesome).
- Обычно вы можете найти свой любимый шрифт для кодирования (например, Fira Code или Jet Brains Mono).
- Зайдите в настройки терминала Windows, выберите настройки Powershell, перейдите в раздел «Внешний вид» и измените шрифт на тот, который вы скачали — он будет заканчиваться на
NF
(например,JetBrainsMono NF
).- Вы также захотите сделать это для Visual Studio Code, если планируете использовать интегрированную оболочку/консоль.
- Теперь все должно выглядеть правильно! 🎆
🎨 Темы
Просмотрите все темы здесь или запустите Get-PoshThemes
. Темы по умолчанию поставляются предустановленными с oh-my-posh в $env:POSH_THEMES_PATH
.
Установите тему, открыв ваш $PROFILE
(или .bashrc
для WSL) и изменив инициализацию oh-my-posh
, которую мы добавили ранее, с конфигурацией вашей темы. Здесь вы видите, что мы устанавливаем одну из тем по умолчанию — Night Owl:
oh-my-posh init pwsh --config $env:POSH_THEMES_PATHnight-owl.omp.json | Invoke-Expression
⚠️ Вы можете использовать echo $PROFILE
, чтобы увидеть, где находится профиль, и открыть его любым текстовым редактором, который вы предпочитаете.
Совет: Я использую команду code
, чтобы открывать вещи в VSCode. Вы можете активировать ее, перейдя в Командную строку (CMD + Shift + P), набрав «bash» и установив ее оттуда.
Настройка | Oh My Posh
Моя тема
Я создал тему на основе powerlevel10k_modern
и взял некоторые модули из night-owl
, такие как монитор процессора, версия Node и версия PHP.
Oh My Posh — моя пользовательская тема (основана на powerlevel10k + night-owl)
Сторонние плагины
Это дополнительные дополнения к Windows Terminal, которые помогают улучшить работу (например, добавление значков или автозаполнение команд).
Автозаполнение с использованием истории
Предсказательный интеллисенс, основанный на истории командной оболочки — как умный поиск. Если вы часто заходите в определенные папки, они будут появляться в списке по мере ввода.
- Установите предварительную версию модуля (требуется 2.2.0-beta1 или выше по состоянию на 5/17/2022):
Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck
. - Добавьте это в свой
$PROFILE
:
# Add auto complete (requires PSReadline 2.2.0-beta1+ prerelease)
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineOption -EditMode Windows
Иногда это было не так просто, как команды (что уж говорить о prerelease lol) — но эти ресурсы помогли заставить все работать.
GitHub — PowerShell/PSReadLine: Реализация readline на основе bash для PowerShell
Set-PSReadLineOption : Не найден параметр, соответствующий имени параметра ‘PredictionSource’ — проблема № 2189 — PowerShell/PSReadLine
Добавление Predictive IntelliSense в мой Windows Terminal PowerShell Prompt с помощью PSReadline
Иконки терминала
Это красивые иконки для различных папок и файлов, которые есть в проектах разработки. Если вы использовали VSCode и устанавливали какие-либо расширения иконок, вы, вероятно, знакомы с этим.
- Выполните эту команду для установки модуля:
Install-Module -Name Terminal-Icons -Repository PSGallery
. - Добавьте это в ваш
$PROFILE
:Import-Module -Name Terminal-Icons
. - Обновите конфигурацию PS, выполнив:
. $PROFILE
- Попробуйте запустить
ls
илиdir
, чтобы увидеть значки!
Еще раз спасибо Скотту Хансельману за подсказку!
Поднимите терминал Windows и PowerShell на новый уровень с помощью иконок терминала
Моя окончательная конфигурация
Для справки, вот окончательный файл конфигурации для моего терминала Windows (он же $PROFILE
). Я также добавил несколько комментариев, в которых говорится об установке плагинов/модулей, о которых я упоминал выше (на всякий случай).
PowerShell Config — включает Oh My Posh, иконки терминала и автозаполнение с историей (требуется модуль, см. ниже)
Как выглядит ваша оболочка?
Теперь, когда я окунул свой палец в воду настройки оболочки, я определенно ищу вдохновение, чтобы улучшить свою настройку и сделать ее еще лучше. Напишите мне в Twitter и расскажите о своих настройках корпуса, я с удовольствием посмотрю на них.