Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 18.07.2016
Сообщений: 15

Модуль 'PSReadline'

18.09.2025, 11:12. Показов 1054. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Модуль 'PSReadline'.
https://learn.microsoft.com/ru... rshell-7.5
PSReadLine позволяет определять цвета для 18 различных элементов синтаксиса. Текущие параметры можно просмотреть с помощью командлета Get-PSReadLineOption .
Настройки цвета хранятся в виде строк с управляющими последовательностями ANSI, которые изменяют цвет в терминале. С помощью командлета Set-PSReadLineOption можно изменить цвета на значения, которые лучше подходят для светло-цветного фона.
Какой командой можно изменить значение 'CommandColor', например?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.09.2025, 11:12
Ответы с готовыми решениями:

Как отключить запись команд в PSReadline
Здравствуйте, подскажите как отключить ведение журнала раннее введённых команд в PSReadline. ...

Имя модуля с ошибкой: KERNELBASE.dll
Доброго времени суток всем! Возникла такая проблема, есть программка, фактически неизвестная....

Ошибка при импорте модуля SSH
Имеется Powershell 4.0 Делаю импорт модуля ssh Выдает вот такую ошибку PS...

12
2798 / 497 / 119
Регистрация: 26.09.2020
Сообщений: 942
Записей в блоге: 5
18.09.2025, 12:07
Цитата Сообщение от LZAA Посмотреть сообщение
Какой командой можно изменить значение 'CommandColor', например?
В чём подвох? По вашей ссылке же есть команда.
Слегка сократить ихний $ISETheme = и получится:
PowerShell
1
Set-PSReadLineOption -Colors @{ Command = "$([char]0x1b)[94m" }
94 — цвет.

Погуглить цвета ESCAPE ANSI
1
0 / 0 / 0
Регистрация: 18.07.2016
Сообщений: 15
18.09.2025, 13:46  [ТС]
Спасибо за совет. Подвоха нет, но есть моя 'дремучесть'. Я про
-Colors @{ Command = "$([char]0x1b)[94m"
уже уразумел. Но сейчас пытаюсь ещё одно понять.
https://powershell-7.ru/?p=1148
Пример 4. Установка нескольких вариантов цвета
Я записываю эту команду в файл профиля и это работает. Но в процессе экспериментов с изменением нескольких цветов за раз 'PowerShell' мне написал:

Cannot bind parameter because parameter 'Colors' is
specified more than once. To provide multiple values to parameters that can
accept multiple values, use the array syntax. For example, "-parameter val
ue1,value2,value3".

Такой вопрос - как правильно создать такую команду с значениями цветов через запятую?
0
1656 / 272 / 65
Регистрация: 03.06.2020
Сообщений: 686
18.09.2025, 13:48
Цитата Сообщение от LZAA Посмотреть сообщение
Какой командой можно изменить значение 'CommandColor', например?
У меня так:

PowerShell
1
2
$ (Get-PSReadLineOption).CommandColor -replace [char]27, '<esc>'
<esc>[38;5;37m
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Set-PSReadlineOption -Colors @{
 
        'Command' = "`e[38;5;37m"
        'Comment' = "`e[3;38;5;243m"
        'Number' = "`e[38;5;61m"
        'Member' = "`e[38;5;173m"
        'Type' = "`e[38;5;169m"
        'ContinuationPrompt' = "`e[38;5;29m"
        'Selection' = "`e[38;5;16;48;5;61m"
        'Emphasis' = "`e[38;5;131m"
        'Operator' = "`e[38;5;31m"
        'Parameter' = "`e[38;5;24m"
        'Variable' = "`e[38;5;178m"
}
2
0 / 0 / 0
Регистрация: 18.07.2016
Сообщений: 15
18.09.2025, 13:59  [ТС]
Это понятно. Но как можно использовать
To provide multiple values to parameters that can
accept multiple values, use the array syntax. For example, "-parameter val
ue1,value2,value3".
?
И ещё.
Можно ли сделать команду с '(Get-PSReadLineOption).CommandColor' c указанием цвета 'Black'?
0
2798 / 497 / 119
Регистрация: 26.09.2020
Сообщений: 942
Записей в блоге: 5
18.09.2025, 15:03
Цитата Сообщение от LZAA Посмотреть сообщение
To provide multiple values to parameters that can
accept multiple values, use the array syntax. For example, "-parameter val
ue1,value2,value3".
Откуда цитата?
По вашей ссылке указаны параметры и их тип: [-Colors <hashtable>]
никаких array, только hashtable.
0
2798 / 497 / 119
Регистрация: 26.09.2020
Сообщений: 942
Записей в блоге: 5
18.09.2025, 15:08
Цитата Сообщение от LZAA Посмотреть сообщение
Можно ли сделать команду с '(Get-PSReadLineOption).CommandColor' c указанием цвета 'Black'?
У меня получилось:
PowerShell
1
(Get-PSReadLineOption).CommandColor = 'black'
Миниатюры
Модуль 'PSReadline'  
0
0 / 0 / 0
Регистрация: 18.07.2016
Сообщений: 15
18.09.2025, 15:21  [ТС]
Откуда цитата?

Но в процессе экспериментов с изменением нескольких цветов за раз 'PowerShell' мне написал:

Cannot bind parameter because parameter 'Colors' is
specified more than once. To provide multiple values to parameters that can
accept multiple values, use the array syntax. For example, "-parameter val
ue1,value2,value3".
Эксперимент был такой:

Set-PSReadLineOption -Colors @{ "Comment"="xxxx" } -Colors @{ "Number"="xxxx" }
0
2798 / 497 / 119
Регистрация: 26.09.2020
Сообщений: 942
Записей в блоге: 5
18.09.2025, 16:09
Цитата Сообщение от LZAA Посмотреть сообщение
Set-PSReadLineOption -Colors @{ "Comment"="xxxx" } -Colors @{ "Number"="xxxx" }
Почти, только надо в одних скобках:
PowerShell
1
2
3
4
Set-PSReadLineOption -Colors @{
    "Comment"="xxxx"
    "Number"="xxxx"
}
или в одну строчку, тогда внутри hashtable, через запятую.
PowerShell
1
Set-PSReadLineOption -Colors @{ "Comment"="xxxx"; "Number"="xxxx" }
пустой hashtable это @{}, заполняется парами: уникальный ключ = значение
PowerShell
1
2
3
4
@{
    key1=value1
    key2=value2
}
1
0 / 0 / 0
Регистрация: 18.07.2016
Сообщений: 15
18.09.2025, 17:52  [ТС]
Большое спасибо за помощь!
Решение с несколькими строчками я проверял, и это работает, как я писал выше.
Я хотел разобраться и эксперементировал именно с записью в одну строку. Я пользовался рекомендацией "-parameter value1,value2,value3". Здесь используется ',', да и Вы пишите:
или в одну строчку, тогда внутри hashtable, через запятую.
Но оказывается, что надо использовать 'точку с запятой'. Поэтому-то команды с точкой у меня не работали.

Если можно, то хочу ещё про 'первоисточник' спросить.
'Get-PSReadLineOption' показывает название параметров и их значение. Но где эти данные 'физически' записаны? Может быть, в 'Microsoft.PowerShell.PSReadline.dll'?
0
2798 / 497 / 119
Регистрация: 26.09.2020
Сообщений: 942
Записей в блоге: 5
18.09.2025, 19:21
Цитата Сообщение от LZAA Посмотреть сообщение
да и Вы пишите:
Это я очепятался, надо точку с запятой, главное в коде правильно

Добавлено через 26 минут
Цитата Сообщение от LZAA Посмотреть сообщение
'Get-PSReadLineOption' показывает название параметров и их значение. Но где эти данные 'физически' записаны? Может быть, в 'Microsoft.PowerShell.PSReadline.dll'?
Точно не знаю, но похоже на то. По крайней мере там есть метод:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
internal void ResetColors()
{
    ConsoleColor consoleColor = Console.ForegroundColor;
    this.DefaultTokenColor = consoleColor;
    this.CommentColor = ConsoleColor.DarkGreen;
    this.KeywordColor = ConsoleColor.Green;
    this.StringColor = ConsoleColor.DarkCyan;
    this.OperatorColor = ConsoleColor.DarkGray;
    this.VariableColor = ConsoleColor.Green;
    this.CommandColor = ConsoleColor.Yellow;
    this.ParameterColor = ConsoleColor.DarkGray;
    this.TypeColor = ConsoleColor.Gray;
    this.NumberColor = ConsoleColor.White;
    this.MemberColor = ConsoleColor.Gray;
    this.EmphasisColor = ConsoleColor.Cyan;
    this.ErrorColor = ConsoleColor.Red;
    this.InlinePredictionColor = PSConsoleReadLineOptions.DefaultInlinePredictionColor;
    this.ListPredictionColor = "\u001b[33m";
    this.ListPredictionSelectedColor = "\u001b[48;5;238m";
    this.ListPredictionTooltipColor = PSConsoleReadLineOptions.DefaultListPredictionTooltipColor;
    ConsoleColor consoleColor2 = Console.BackgroundColor;
    if (consoleColor == (ConsoleColor)(-1) || consoleColor2 == (ConsoleColor)(-1))
    {
        consoleColor = ConsoleColor.Gray;
        consoleColor2 = ConsoleColor.Black;
    }
    this.SelectionColor = VTColorUtils.AsEscapeSequence(consoleColor2, consoleColor);
}
Добавлено через 3 минуты
А зачем это?
Если, что, то about_Profiles - PowerShell | Microsoft Learn
Все пользователи, все узлы — $PSHOME\Profile.ps1
1
0 / 0 / 0
Регистрация: 18.07.2016
Сообщений: 15
19.09.2025, 01:59  [ТС]
А зачем это?
Как говорится, 'мечтать не вредно', потому что сам я это не сделаю. Но идеальное решение - это произвести все необходимые настройки параметров в библиотеке. И тогда можно и без файла профиля обойтись. Идея такая.
0
0 / 0 / 0
Регистрация: 18.07.2016
Сообщений: 15
20.09.2025, 10:50  [ТС]
Так тоже работает:

(Get-PSReadLineOption).CommandColor='black'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.09.2025, 10:50
Помогаю со студенческими работами здесь

Ошибки приложений, связанные с модулем Itcssp.Dll
Добрый день, имеется Windows serwer 2003 r2 с недавнего времени перестали открываться сайты в ie...

Ошибка при установке модуля
Здравствуйте! У меня длииинная ошибка при установке angular-trainig-task-3 из командной строки:

Экспорт модулей Powershell (DnsClient, NetIp.)
нужно поменять DNS во всем домене, а нет способа элегантнее, чем через powershell :) Не могу...

Установка модуля от имени пользователя
Добрый день. Задача следующая: Нужно, чтобы при запуске скрипта он проверял наличие модуля, если...

Изменения свойств элементов Windows Form из доп.модуля
Добрый день, Подскажите как можно передать в поток переменную Button и ProgressBar, чтобы в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru