Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los colores predeterminados para PowerShell y PSReadLine se seleccionan para un terminal de fondo oscuro. Sin embargo, algunos usuarios pueden optar por usar un fondo claro con texto oscuro. Dado que la mayoría de los colores predeterminados no establecen el fondo, el uso de colores de primer plano claro en un fondo claro genera texto ilegible.
A partir de PowerShell 7.2, PowerShell agrega una salida colorizada a la experiencia de consola predeterminada. La $PSStyle característica no está disponible de forma nativa en Windows PowerShell. Sin embargo, con el módulo PSStyle de la Galería de PowerShell, puede establecer valores de color con estas mismas técnicas que se describen en este artículo.
Los colores usados se definen en la $PSStyle variable y están diseñados para un fondo oscuro. Puede cambiar estos colores para que funcionen mejor para un terminal de fondo claro.
PSReadLine permite definir colores para 18 elementos de sintaxis diferentes. Puede ver la configuración actual mediante el Get-PSReadLineOption cmdlet .
EditMode : Windows
AddToHistoryHandler : System.Func`2[System.String,System.Object]
HistoryNoDuplicates : True
HistorySavePath : C:\Users\user1\AppData\Roaming\Microsoft\Wind...
HistorySaveStyle : SaveIncrementally
HistorySearchCaseSensitive : False
HistorySearchCursorMovesToEnd : False
MaximumHistoryCount : 4096
ContinuationPrompt : >>
ExtraPromptLineCount : 0
PromptText : {> }
BellStyle : Audible
DingDuration : 50
DingTone : 1221
CommandsToValidateScriptBlockArguments : {ForEach-Object, %, Invoke-Command, icm...}
CommandValidationHandler :
CompletionQueryItems : 100
MaximumKillRingCount : 10
ShowToolTips : True
ViModeIndicator : None
WordDelimiters : ;:,.[]{}()/\|^&*-=+'"-—―
AnsiEscapeTimeout : 100
PredictionSource : HistoryAndPlugin
PredictionViewStyle : InlineView
CommandColor : "`e[93m"
CommentColor : "`e[32m"
ContinuationPromptColor : "`e[37m"
DefaultTokenColor : "`e[37m"
EmphasisColor : "`e[96m"
ErrorColor : "`e[91m"
InlinePredictionColor : "`e[38;5;238m"
KeywordColor : "`e[92m"
ListPredictionColor : "`e[33m"
ListPredictionSelectedColor : "`e[48;5;238m"
MemberColor : "`e[97m"
NumberColor : "`e[97m"
OperatorColor : "`e[90m"
ParameterColor : "`e[90m"
SelectionColor : "`e[30;47m"
StringColor : "`e[36m"
TypeColor : "`e[37m"
VariableColor : "`e[92m"
La configuración de color se almacena como cadenas que contienen secuencias de escape ANSI que cambian el color en el terminal. Con el Set-PSReadLineOption cmdlet puede cambiar los colores a los valores que funcionan mejor para un fondo de color claro.
Definir colores para un tema claro
PowerShell ISE se puede configurar para usar un tema claro para los paneles del editor y de la consola. También puede ver y cambiar los colores que usa el ISE para diversos tipos de sintaxis y salida. Puede usar estas opciones de color para definir un tema similar para PSReadLine.
La tabla hash siguiente define colores para PSReadLine que imitan los colores de PowerShell ISE.
$ISETheme = @{
Command = $PSStyle.Foreground.FromRGB(0x0000FF)
Comment = $PSStyle.Foreground.FromRGB(0x006400)
ContinuationPrompt = $PSStyle.Foreground.FromRGB(0x0000FF)
Default = $PSStyle.Foreground.FromRGB(0x0000FF)
Emphasis = $PSStyle.Foreground.FromRGB(0x287BF0)
Error = $PSStyle.Foreground.FromRGB(0xE50000)
InlinePrediction = $PSStyle.Foreground.FromRGB(0x93A1A1)
Keyword = $PSStyle.Foreground.FromRGB(0x00008b)
ListPrediction = $PSStyle.Foreground.FromRGB(0x06DE00)
Member = $PSStyle.Foreground.FromRGB(0x000000)
Number = $PSStyle.Foreground.FromRGB(0x800080)
Operator = $PSStyle.Foreground.FromRGB(0x757575)
Parameter = $PSStyle.Foreground.FromRGB(0x000080)
String = $PSStyle.Foreground.FromRGB(0x8b0000)
Type = $PSStyle.Foreground.FromRGB(0x008080)
Variable = $PSStyle.Foreground.FromRGB(0xff4500)
ListPredictionSelected = $PSStyle.Background.FromRGB(0x93A1A1)
Selection = $PSStyle.Background.FromRGB(0x00BFFF)
}
Nota:
Puede usar el FromRGB() método para crear las secuencias de escape ANSI para los colores que desee.
Para más información sobre $PSStyle, consulte Acerca de los terminales ANSI. Para obtener más información sobre las secuencias de escape ANSI, consulte el artículo código de escape ANSI de en Wikipedia.
Establecimiento del tema de color en el perfil
Para tener la configuración de color que desee en cada sesión de PowerShell, debe agregar las opciones de configuración al script de perfil de PowerShell. Para obtener un ejemplo, consulte Personalización del entorno de shell.
Agregue la $ISETheme variable y el siguiente Set-PSReadLineOption comando al perfil.
Set-PSReadLineOption -Colors $ISETheme
La siguiente configuración funciona mejor para un terminal de fondo claro.
$PSStyle.Formatting.FormatAccent = $PSStyle.Foreground.Green
$PSStyle.Formatting.TableHeader = $PSStyle.Foreground.Green
$PSStyle.Formatting.ErrorAccent = $PSStyle.Foreground.Cyan
$PSStyle.Formatting.Error = $PSStyle.Foreground.Red
$PSStyle.Formatting.Warning = $PSStyle.Foreground.Yellow
$PSStyle.Formatting.Verbose = $PSStyle.Foreground.Yellow
$PSStyle.Formatting.Debug = $PSStyle.Foreground.Yellow
$PSStyle.Progress.Style = $PSStyle.Foreground.Yellow
$PSStyle.FileInfo.Directory = $PSStyle.Background.FromRgb(0x2f6aff) +
$PSStyle.Foreground.BrightWhite
$PSStyle.FileInfo.SymbolicLink = $PSStyle.Foreground.Cyan
$PSStyle.FileInfo.Executable = $PSStyle.Foreground.BrightMagenta
$PSStyle.FileInfo.Extension['.ps1'] = $PSStyle.Foreground.Cyan
$PSStyle.FileInfo.Extension['.ps1xml'] = $PSStyle.Foreground.Cyan
$PSStyle.FileInfo.Extension['.psd1'] = $PSStyle.Foreground.Cyan
$PSStyle.FileInfo.Extension['.psm1'] = $PSStyle.Foreground.Cyan
Elección de colores para accesibilidad
Es posible que el tema de color de ISE no funcione para los usuarios con daltonismo u otras condiciones que limiten su capacidad de ver colores.
World Wide Web Consortium (W3C) tiene recomendaciones para usar colores para la accesibilidad. Las Directrices de accesibilidad de contenido web (WCAG) 2.1 recomiendan que "la presentación visual de texto e imágenes de texto tiene una relación de contraste de al menos 4.5:1". Para obtener más información, vea Criterio de éxito 1.4.3 Contraste (mínimo).
El sitio web relación de contraste proporciona una herramienta que le permite elegir colores de primer plano y de fondo y medir el contraste. Puede usar esta herramienta para buscar combinaciones de colores que funcionen mejor para usted.