Приветствую! Вы находитесь на канале Ты ж программист!✨, где просто и доступно поделюсь своим опытом и расскажу о различных лайфхаках.
Продолжаем тему полезных утилит, которые могут помочь в работе с системой Windows и упростить вам жизнь.
Ранее мы рассматривали утилиты:
ZoomIt - утилиту для рисования на экране и масштабирования.
Alt-Tab Terminator - утилита на замену Alt+Tab и Win+Tab.
Сейчас рассмотрим отличную утилиту, бесплатную на этот раз, официально одобренную Microsoft. Речь пойдёт о PSReadline.
💾О чём речь
Утилита PSReadline поможет сделать работу с powershell в консоли (псевдо терминале) более комфортной и разгруженной.
Добавится подсветка синтаксиса, поддержка эффективного многострочного интерфейса (редактирования и журнала), IntelliSence прогнозирование, работа с Emacs/cmd и многое другое.
💾Установка
Есть много способов, не будем рассматривать все. Если вы используете PS, начиная с версии 3.0, то минимальные требования пройдены. Утилита предустановлена в версии PS, начиная с 6+.
В Windows 10 и Server 2016/2019 предустановлена 5 версия Powershell.
Узнать текущую версию вы можете, введя команду $PSVersionTable в окне программы. Получите подобный вывод:
Установка из галереи Powershell (требуется интернет соединение)
Стягиваем из сети модуль PowerShellGet, который позволит нам установить PSReadline. Для этого стартует PS под администратором и набираем в консоли следующую команду:
Install-Module -Name PowerShellGet -Force
Затем ставим сам Readline:
Install-Module PSReadLine -Force
На этом установка завершена. Если при запуске программы вы увидите такое сообщение об ошибке:
Это значит, что на компьютере запрещено выполнение сценариев. Для исправления проблемы запустите PS под админом и введите команду:
Set-ExecutionPolicy RemoteSigned
Выберите "a" латинскую, чтобы "изменить для всех".
Для версий, ранее 5 необходимо выполнить редактирование профиля и импортирование в него модуля. В первую очередь, введите в PS команду:
notepad $PROFILE
Если файла нет, то откроется блокнот с предложением создать файл. Соглашайтесь. Введите в файле код и сохраните, закрыв его. Перезапустите PS.
if ($host.Name -eq 'ConsoleHost')
{
Import-Module PSReadLine
}
На этом установка завершена. Не слишком замудрено, но может не быть и слишком просто.
💾Нюансы и использование
Основное - подсветка синтаксиса.
Чтобы не расписывать сотни изменений, просто смотрите на скриншоты. Первый - без модуля, второй с модулем.
Назначение клавиш.
Вы можете просмотреть предназначенные клавиши и их сочетания командой:
Get-PSReadLineKeyHandler
Вы можете написать свою кастомную функцию и назначить на неё любое сочетание, используя командлет:
Set-PSReadLineKeyHandler -Key сочетание -Function имя_функции
Функция bck-i-search.
Подобно терминалу bash, теперь в PS появилась возможность поиска по ранее введённым командам. Так же, как и в unix-like системах, жмите сочетание ctrl+r и пишем часть команды.
Режим IntelliSense
Интеллектуальный ввод коммандлетов отключен по умолчанию. Чтобы его активировать, введите команду:
Set-PSReadLineOption -PredictionSource History
Для отключения введите команду:
Set-PSReadLineOption -PredictionSource None
На основании частоты использования команд и данных журнала истории, интеллектуальный ввод будет предлагать автозаполнение. нажмите клавишу TAB, чтобы завершить заполнение.
Мы рассмотрели основные тонкости модуля и его преимущества. Надеюсь, "примочка" окажется полезной тем, кто о ней не знал и вы захотите её опробовать в деле.
П.С. безусловно IDE могёт подсветку символов и многие другие фишки, но не всегда можно и нужно работать с IDE, поэтому кастомизировать консоль лишним не будет
Возможно вас так же заинтересует:
- Семейство Windows, стиль аниме, маскот
- 5 правил безопасности от мошенничества