Владельцы windows 10 могут наслаждаться подсветкой синтаксиса в консоли PowerShell. В предыдущих версиях подсветка не появится даже если установить WMF5. Она реализуется модулем PSReadLine. Этот модуль позволяет делать разную подсветки Emac подобную или Vim, добавлять команды и т.п., добавляет поиск в истории, собственные шоткаты и т.п. Далее описывается как установить подсветку в консоль PowerShell для предыдущих версий windows.
1. установка на Win 8.1 и 2012R2 если у Вас уже установлен WMF5
Первое что нужно сделать это скачать модуль подсветки из хранилища OneGet командлетом Find-Package если до этого он не использовался то попросит скачать и установить менеджер пакетов NuGet
Водим команды ниже, на все вопросы отвечаем утвердительно
наличие OneGet сильно облегчает жизнь
2. установка в Win 8.1 c PowerShell 4
нужно скачать PSReadLine.zip с GitHub.
после проверьте снята ли блокировка со скачанного файла (иначе вы можете получить ошибку при попытке запуска сценария), для этого откройте свойства файла и если есть кнопка «разблокировать» нажмите ее
это просто модуль, далее действуем как при установке любого модуля, копируем его в вашу папку modules. Если вы не создали еще такую папку то ее нужно создать
установка PSReadLine
для установки запустите консоль под администратором
установите разрешения исполнения скриптов
выполните импорт модуля
если вы не видите сообщения об ошибках значит все сделано правильно и модуль запустился
последним можно добавить автоматический импорт модуля при каждом запуске консоли
для этого нужно добавить команду импорта в ваш профиль. Т.к. модуль для PS4 не очень хорошо работает в PowerShell ISE рекомендуется оставить импорт только для консоли. для PowerShell 5 такой проблемы нет, модуль работает и в ISE без ошибок
Теперь можно ввести Get-PSReadlineKeyHandler и посмотреть какие шоткаты определены по умолчанию
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:USERPROFILE\Downloads\PSREadline\* $env:USERPROFILE\Documents\WindowsPowerShell\Modules\PSReadLine
установка PSReadLine
для установки запустите консоль под администратором
установите разрешения исполнения скриптов
выполните импорт модуля
Import-Module PSReadLine
если вы не видите сообщения об ошибках значит все сделано правильно и модуль запустился
последним можно добавить автоматический импорт модуля при каждом запуске консоли
для этого нужно добавить команду импорта в ваш профиль. Т.к. модуль для PS4 не очень хорошо работает в PowerShell ISE рекомендуется оставить импорт только для консоли. для PowerShell 5 такой проблемы нет, модуль работает и в ISE без ошибок
if ($host.Name -eq 'ConsoleHost')
{
Import-Module PSReadLine
}
Теперь можно ввести Get-PSReadlineKeyHandler и посмотреть какие шоткаты определены по умолчанию
Поделиться с друзьями
Комментарии (7)
dgrees
24.06.2016 12:42Я всё жду, когда в консолях появится автодополнение команд или путей, типа IntelliSense в VS. Или такое уже как-нибудь реализовано?
Funbit
24.06.2016 14:54Не знаете, нет ли готовых цветовых схем для PSReadLine? А то стандартная довольно грубовата, да и после экспериментов с цветами хочется быстро вернуть в исходное состояние.
potan
24.06.2016 15:42А можно заставить Complete корректно работать, если в директории присутствует файл с именем, начинающийся с '.'? Vim любит такие создавать, после чего работать становится не очень удобно.
doz10us
Заголовок интересный. Но всё же статью стоило бы вычитать, хотя бы прогнать через правописание в Word или аналогах. Сплошной поток сознания.