Владельцы windows 10 могут наслаждаться подсветкой синтаксиса в консоли PowerShell в предыдущих версиях подсветка сама не появится даже если установить WMF5. Подсветка реализуется модулем PSReadLine. Этот модуль позволяет делать разные подсветки Emac подобную или Vim, добавлять команды и т.п., добавляет поиск в истории, собственные шоткаты и т.п. Далее описывается как установить подсветку в консоль PowerShell предыдущих версий windows.
1. установка на Win 8.1 и 2012R2 если установлен у Вас уже установлен WMF5
нужно скачать модуль подсветки из хранилища OneGet командлетом Find-Package если до этого он не использовался то попросит скачать и установить менеджер пакетов NuGet
Далее делаем на все вопросы отвечаем утвердительно
Find-Package PSReadLine
Install-Module PSReadLine
Import-Module PSReadLine
наличие OneGet сильно облегчает жизнь некоторых случаях
2. установка на Win 8.1 c PowerShell 4
нужно скачать PSReadLine.zip с GitHub.
после проверьте снята ли блокировка со скачанного файла (иначе вы можете получить ошибку при попытке запуска сценария), для этого откройте свойства файла и если есть кнопка «разблокировать» нажмите ее
это просто модуль, далее действуем как при установке любого модуля, копируем его в вашу папку modules. Если вы не создали еще такую папку то ее нужно создать
cp $env:USERPROFILEDownloadsPSREadline* $env:USERPROFILEDocumentsWindowsPowerShellModulesPSReadLine
установка PSReadLine
для установки запустите консоль под администратором
установите разрешения исполнения скриптов
выполните импорт модуля
Import-Module PSReadLine
если вы не видите сообщения об ошибках значит все сделано правильно и модуль запустился
последним можно добавить автоматический импорт модуля при каждом запуске консоли
для этого нужно добавить команду импорта в ваш профиль. Т.к. модуль для PS4 не очень хорошо работает в PowerShell ISE рекомендуется оставить импорт только для консоли. для PowerShell 5 такой проблемы нет, модуль работает и в ISE тоже
if ($host.Name -eq 'ConsoleHost')
{
Import-Module PSReadLine
}
Теперь можно ввести Get-PSReadlineKeyHandler и посмотреть какие шоткаты определены по умолчанию
Автор: pak-nikolai