Найти в Дзене
Ты ж программист!

Полезные утилиты для продвинутых пользователей ║ч.3║

Оглавление

Приветствую! Вы находитесь на канале Ты ж программист!✨, где просто и доступно поделюсь своим опытом и расскажу о различных лайфхаках.

Продолжаем тему полезных утилит, которые могут помочь в работе с системой Windows и упростить вам жизнь.

Ранее мы рассматривали утилиты:
ZoomIt - утилиту для рисования на экране и масштабирования.
Alt-Tab Terminator - утилита на замену Alt+Tab и Win+Tab.

-2

Сейчас рассмотрим отличную утилиту, бесплатную на этот раз, официально одобренную Microsoft. Речь пойдёт о PSReadline.

💾О чём речь

Утилита PSReadline поможет сделать работу с powershell в консоли (псевдо терминале) более комфортной и разгруженной.

Добавится подсветка синтаксиса, поддержка эффективного многострочного интерфейса (редактирования и журнала), IntelliSence прогнозирование, работа с Emacs/cmd и многое другое.

💾Установка

Есть много способов, не будем рассматривать все. Если вы используете PS, начиная с версии 3.0, то минимальные требования пройдены. Утилита предустановлена в версии PS, начиная с 6+.

В Windows 10 и Server 2016/2019 предустановлена 5 версия Powershell.
Узнать текущую версию вы можете, введя команду
$PSVersionTable в окне программы. Получите подобный вывод:

$PSVersionTable
$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 и пишем часть команды.

ctrl+r
ctrl+r

Режим IntelliSense

Интеллектуальный ввод коммандлетов отключен по умолчанию. Чтобы его активировать, введите команду:
Set-PSReadLineOption -PredictionSource History

Для отключения введите команду:
Set-PSReadLineOption -PredictionSource None

На основании частоты использования команд и данных журнала истории, интеллектуальный ввод будет предлагать автозаполнение. нажмите клавишу TAB, чтобы завершить заполнение.

-8

Мы рассмотрели основные тонкости модуля и его преимущества. Надеюсь, "примочка" окажется полезной тем, кто о ней не знал и вы захотите её опробовать в деле.

П.С. безусловно IDE могёт подсветку символов и многие другие фишки, но не всегда можно и нужно работать с IDE, поэтому кастомизировать консоль лишним не будет

Возможно вас так же заинтересует: