Set-PSReadLineOption

Personaliza o comportamento da edição de linha de comando em PSReadLine.

Sintaxe

Default (Default)

Set-PSReadLineOption
    [-EditMode <EditMode>]
    [-ContinuationPrompt <String>]
    [-HistoryNoDuplicates]
    [-AddToHistoryHandler <System.Func[System.String,System.Object]>]
    [-CommandValidationHandler <System.Action[System.Management.Automation.Language.CommandAst]>]
    [-HistorySearchCursorMovesToEnd]
    [-MaximumHistoryCount <Int32>]
    [-MaximumKillRingCount <Int32>]
    [-ShowToolTips]
    [-ExtraPromptLineCount <Int32>]
    [-DingTone <Int32>]
    [-DingDuration <Int32>]
    [-BellStyle <BellStyle>]
    [-CompletionQueryItems <Int32>]
    [-WordDelimiters <String>]
    [-HistorySearchCaseSensitive]
    [-HistorySaveStyle <HistorySaveStyle>]
    [-HistorySavePath <String>]
    [-AnsiEscapeTimeout <Int32>]
    [-PromptText <String[]>]
    [-ViModeIndicator <ViModeStyle>]
    [-ViModeChangeHandler <ScriptBlock>]
    [-Colors <Hashtable>]
    [-PredictionSource <PredictionSource>]
    [<CommonParameters>]

Description

O cmdlet Set-PSReadLineOption personaliza o comportamento do módulo PSReadLine ao editar a linha de comando. Para exibir as configurações de PSReadLine, use Get-PSReadLineOption.

Exemplos

Exemplo 1: Definir cores de primeiro plano e plano de fundo

Este exemplo define PSReadLine para exibir o token Comment com texto em primeiro plano verde em um plano de fundo cinza. Na sequência de escape usada no exemplo, 32 representa a cor do primeiro plano e 47 representa a cor da tela de fundo.

Set-PSReadLineOption -Colors @{ "Comment"="`e[32;47m" }

Você pode optar por definir apenas uma cor de texto em primeiro plano. Por exemplo, uma cor de texto de primeiro plano verde brilhante para o token de de comentário: "Comment"="`e[92m".

Exemplo 2: Definir estilo de sino

Neste exemplo, PSReadLine responderá a erros ou condições que exigem atenção do usuário. O BellStyle está definido para emitir um bipe audível a 1221 Hz para 60 ms.

Set-PSReadLineOption -BellStyle Audible -DingTone 1221 -DingDuration 60

Observação

Esse recurso pode não funcionar em todos os hosts em plataformas.

Exemplo 3: Definir várias opções

Set-PSReadLineOption pode definir várias opções com uma tabela de hash.

$PSReadLineOptions = @{
    EditMode = "Emacs"
    HistoryNoDuplicates = $true
    HistorySearchCursorMovesToEnd = $true
    Colors = @{
        "Command" = "#8181f7"
    }
}
Set-PSReadLineOption @PSReadLineOptions

A tabela de hash $PSReadLineOptions define as chaves e os valores. Set-PSReadLineOption usa as chaves e os valores com @PSReadLineOptions para atualizar as opções de PSReadLine.

Você pode exibir as chaves e os valores que inserem o nome da tabela de hash, $PSReadLineOptions na linha de comando do PowerShell.

Exemplo 4: Definir várias opções de cor

Este exemplo mostra como definir mais de um valor de cor em um único comando.

Set-PSReadLineOption -Colors @{
  Command            = 'Magenta'
  Number             = 'DarkGray'
  Member             = 'DarkGray'
  Operator           = 'DarkGray'
  Type               = 'DarkGray'
  Variable           = 'DarkGreen'
  Parameter          = 'DarkGreen'
  ContinuationPrompt = 'DarkGray'
  Default            = 'DarkGray'
}

Exemplo 5: Definir valores de cor para vários tipos

Este exemplo mostra três métodos diferentes para definir a cor dos tokens exibidos no PSReadLine.

Set-PSReadLineOption -Colors @{
 # Use a ConsoleColor enum
 "Error" = [ConsoleColor]::DarkRed

 # 24 bit color escape sequence
 "String" = "$([char]0x1b)[38;5;100m"

 # RGB value
 "Command" = "#8181f7"
}

Exemplo 6: Usar ViModeChangeHandler para exibir alterações no modo Vi

Este exemplo emite um escape de VT de alteração de cursor em resposta a uma alteração no modo do Vi.

function OnViModeChange {
    if ($args[0] -eq 'Command') {
        # Set the cursor to a blinking block.
        Write-Host -NoNewLine "`e[1 q"
    } else {
        # Set the cursor to a blinking line.
        Write-Host -NoNewLine "`e[5 q"
    }
}
Set-PSReadLineOption -ViModeIndicator Script -ViModeChangeHandler $Function:OnViModeChange

A função OnViModeChange define as opções de cursor para os modos de do Vi: inserir e comando. ViModeChangeHandler usa o provedor Function: para fazer referência OnViModeChange como um objeto de bloco de script.

Para obter mais informações, consulte about_Providers.

Parâmetros

-AddToHistoryHandler

Especifica um ScriptBlock que controla quais comandos são adicionados ao histórico do PSReadLine .

O ScriptBlock recebe a linha de comando como entrada. Se o ScriptBlock retornar $True, a linha de comando será adicionada ao histórico.

Propriedades do parâmetro

Tipo:

Func<T,TResult>[System.String,System.Object]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-AnsiEscapeTimeout

Essa opção é específica para o Windows quando a entrada é redirecionada, por exemplo, ao executar em tmux ou screen.

Com a entrada redirecionada no Windows, muitas chaves são enviadas como uma sequência de caracteres começando com o caractere de escape. É impossível distinguir entre um único caractere de escape seguido por mais caracteres e uma sequência de escape válida.

A suposição é que o terminal pode enviar os caracteres mais rápido do que um tipo de usuário. PSReadLine aguarda esse tempo limite antes de concluir que recebeu uma sequência de escape completa.

Se você vir caracteres aleatórios ou inesperados ao digitar, poderá ajustar esse tempo limite.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:100
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-BellStyle

Especifica como PSReadLine responde a vários erros e condições ambíguas.

Os valores válidos são os seguintes:

  • audível: um bipe curto.
  • Visual: o texto pisca brevemente.
  • Nenhum: sem comentários.

Propriedades do parâmetro

Tipo:BellStyle
Valor padrão:Audible
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Colors

O parâmetro Colors especifica várias cores usadas por PSReadLine.

O argumento é uma tabela de hash em que as chaves especificam qual elemento e os valores especificam a cor. Para obter mais informações, consulte about_Hash_Tables.

As cores podem ser um valor de ConsoleColor, por exemplo, [ConsoleColor]::Redou uma sequência de escape ANSI válida. As sequências de escape válidas dependem do terminal. No PowerShell 5.0, uma sequência de escape de exemplo para texto vermelho é $([char]0x1b)[91m. No PowerShell 6 e superior, a mesma sequência de escape é `e[91m. Você pode especificar outras sequências de escape, incluindo os seguintes tipos:

  • Cor 256
  • Cor de 24 bits
  • Primeiro plano, plano de fundo ou ambos
  • Inverso, negrito

Para obter mais informações sobre códigos de cores ANSI, consulte Código de escape ANSI na Wikipédia.

As chaves válidas incluem:

  • ContinuationPrompt: a cor do prompt de continuação.
  • Ênfase: a cor de ênfase. Por exemplo, o texto correspondente ao pesquisar o histórico.
  • Erro: a cor do erro. Por exemplo, no prompt.
  • Seleção: a cor para realçar a seleção do menu ou o texto selecionado.
  • padrão: a cor do token padrão.
  • Comentário: a cor do token de comentário.
  • palavra-chave: a cor do token de palavra-chave.
  • String: a cor do token de cadeia de caracteres.
  • operador : a cor do token do operador.
  • Variável: a cor do token variável.
  • Command: a cor do token de comando.
  • de parâmetro: a cor do token de parâmetro.
  • Tipo: a cor do token de tipo.
  • Número: a cor do token numérico.
  • Membro: a cor do token de nome do membro.
  • InlinePrediction: a cor da exibição embutida da sugestão preditiva.

Propriedades do parâmetro

Tipo:Hashtable
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CommandValidationHandler

Especifica um ScriptBlock chamado de ValidateAndAcceptLine. Se uma exceção for gerada, a validação falhará e o erro será relatado.

Antes de lançar uma exceção, o manipulador de validação pode colocar o cursor no ponto do erro para facilitar a correção. Um manipulador de validação também pode alterar a linha de comando, como corrigir erros tipográficos comuns.

ValidateAndAcceptLine é usado para evitar desordenar seu histórico com comandos que não podem funcionar.

Propriedades do parâmetro

Tipo:

Action<T>[CommandAst]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CompletionQueryItems

Especifica o número máximo de itens de conclusão que são mostrados sem solicitação.

Se o número de itens a serem mostrados for maior que esse valor, PSReadLine solicitará sim/não antes de exibir os itens de conclusão.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:100
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ContinuationPrompt

Especifica a cadeia de caracteres exibida no início das linhas subsequentes quando a entrada de várias linhas é inserida. O padrão é duplo maior que sinais (>>). Uma cadeia de caracteres vazia é válida.

Propriedades do parâmetro

Tipo:String
Valor padrão:>>
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-DingDuration

Especifica a duração do bipe quando BellStyle é definido como audível.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:50ms
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-DingTone

Especifica o tom em Hertz (Hz) do bipe quando BellStyle está definido como Audível.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:1221
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-EditMode

Especifica o modo de edição de linha de comando. Usar esse parâmetro redefine todas as associações de chave definidas por Set-PSReadLineKeyHandler.

Os valores válidos são os seguintes:

  • Windows: associações de chave emulam PowerShell, cmd e Visual Studio.
  • Emacs: associações de chave emulam Bash ou Emacs.
  • Vi: associações de chave emulam Vi.

Use Get-PSReadLineKeyHandler para ver as associações de chave para o editModeconfigurado no momento.

Propriedades do parâmetro

Tipo:EditMode
Valor padrão:Windows
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ExtraPromptLineCount

Especifica o número de linhas extras.

Se o prompt abranger mais de uma linha, especifique um valor para esse parâmetro. Use essa opção quando quiser que linhas extras estejam disponíveis quando PSReadLine exibir o prompt depois de mostrar alguma saída. Por exemplo, PSReadLine retorna uma lista de conclusões.

Essa opção é necessária menos do que nas versões anteriores do PSReadLine, mas é útil quando a função InvokePrompt é usada.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:0
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-HistoryNoDuplicates

Essa opção controla o comportamento de recall. Comandos duplicados ainda são adicionados ao arquivo de histórico. Quando essa opção é definida, somente a invocação mais recente é exibida ao recuperar comandos. Comandos repetidos são adicionados ao histórico para preservar a ordenação durante o recall. No entanto, normalmente, você não deseja ver o comando várias vezes ao lembrar ou pesquisar o histórico.

Por padrão, a propriedade HistoryNoDuplicates do objeto PSConsoleReadLineOptions global está definida como True. Usar esse SwitchParameter define o valor da propriedade como True. Para alterar o valor da propriedade, você deve especificar o valor do SwitchParameter da seguinte maneira: -HistoryNoDuplicates:$False.

Usando o seguinte comando, você pode definir o valor da propriedade diretamente:

(Get-PSReadLineOption).HistoryNoDuplicates = $False

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-HistorySavePath

Especifica o caminho para o arquivo em que o histórico é salvo. Computadores que executam plataformas Windows ou não Windows armazenam o arquivo em locais diferentes. O nome do arquivo é armazenado em uma variável $($host.Name)_history.txt, por exemplo, ConsoleHost_history.txt.

Se você não usar esse parâmetro, o caminho padrão será o seguinte:

Windows

  • $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\$($host.Name)_history.txt

não Windows

  • $env:XDG_DATA_HOME/powershell/PSReadLine/$($host.Name)_history.txt
  • $env:HOME/.local/share/powershell/PSReadLine/$($host.Name)_history.txt

Propriedades do parâmetro

Tipo:String
Valor padrão:A file named $($host.Name)_history.txt in $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine on Windows and $env:XDG_DATA_HOME/powershell/PSReadLine or $env:HOME/.local/share/powershell/PSReadLine on non-Windows platforms
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-HistorySaveStyle

Especifica como PSReadLine salva o histórico.

Os valores válidos são os seguintes:

  • SaveIncrementally: salve o histórico depois que cada comando for executado e compartilhe em várias instâncias do PowerShell.
  • SaveAtExit: anexar o arquivo de histórico quando o PowerShell for encerrado.
  • SaveNothing: não use um arquivo de histórico.

Propriedades do parâmetro

Tipo:HistorySaveStyle
Valor padrão:SaveIncrementally
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-HistorySearchCaseSensitive

Especifica que a pesquisa de histórico diferencia maiúsculas de minúsculas em funções como ReverseSearchHistory ou HistorySearchBackward.

Por padrão, a propriedade HistorySearchCaseSensitive do objeto PSConsoleReadLineOptions global está definida como False. Usar esse SwitchParameter define o valor da propriedade como True. Para alterar o valor da propriedade novamente, você deve especificar o valor do SwitchParameter da seguinte maneira: -HistorySearchCaseSensitive:$False.

Usando o seguinte comando, você pode definir o valor da propriedade diretamente:

(Get-PSReadLineOption).HistorySearchCaseSensitive = $False

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-HistorySearchCursorMovesToEnd

Indica que o cursor se move para o final dos comandos que você carrega do histórico usando uma pesquisa. Quando esse parâmetro é definido como $False, o cursor permanece na posição em que estava quando você pressionou as setas para cima ou para baixo.

Por padrão, a propriedade HistorySearchCursorMovesToEnd do objeto PSConsoleReadLineOptions global está definida como False. Usando esse SwitchParameter definir o valor da propriedade como True. Para alterar o valor da propriedade novamente, você deve especificar o valor do SwitchParameter da seguinte maneira: -HistorySearchCursorMovesToEnd:$False.

Usando o seguinte comando, você pode definir o valor da propriedade diretamente:

(Get-PSReadLineOption).HistorySearchCursorMovesToEnd = $False

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-MaximumHistoryCount

Especifica o número máximo de comandos a serem salvos no histórico de PSReadLine.

histórico de PSReadLine é separado do histórico do PowerShell.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-MaximumKillRingCount

Especifica o número máximo de itens armazenados no anel de eliminação.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:10
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-PredictionSource

Especifica a origem do PSReadLine para obter sugestões preditivas.

Os valores válidos são:

  • Nenhum: desabilitar o recurso de sugestão preditiva
  • Histórico: obtenha sugestões preditivas apenas do histórico

Propriedades do parâmetro

Tipo:PredictionSource
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-PromptText

Quando há um erro de análise, PSReadLine altera uma parte do prompt vermelho. PSReadLine analisa sua função de prompt para determinar como alterar apenas a cor de parte do prompt. Essa análise não é 100% confiável.

Use essa opção se PSReadLine estiver alterando seu prompt de maneiras inesperadas. Inclua qualquer espaço em branco à direita.

Por exemplo, se sua função de prompt for semelhante ao exemplo a seguir:

function prompt { Write-Host -NoNewLine -ForegroundColor Yellow "$pwd"; return "# " }

Em seguida, defina:

Set-PSReadLineOption -PromptText "# "

Propriedades do parâmetro

Tipo:

String[]

Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ShowToolTips

Ao exibir possíveis conclusões, as dicas de ferramenta são mostradas na lista de conclusões.

Essa opção está habilitada por padrão. Essa opção não foi habilitada por padrão em versões anteriores do PSReadLine. Para desabilitar, defina essa opção como $False.

Por padrão, a propriedade ShowToolTips do objeto PSConsoleReadLineOptions global está definida como True. Usar esse SwitchParameter define o valor da propriedade como True. Para alterar o valor da propriedade, você deve especificar o valor do SwitchParameter da seguinte maneira: -ShowToolTips:$False.

Usando o seguinte comando, você pode definir o valor da propriedade diretamente:

(Get-PSReadLineOption).ShowToolTips = $False

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:True
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ViModeChangeHandler

Quando o ViModeIndicator for definido como Script, o bloco de script fornecido será invocado sempre que o modo for alterado. O bloco de script é fornecido com um argumento do tipo ViMode.

Esse parâmetro foi introduzido no PowerShell 7.

Propriedades do parâmetro

Tipo:ScriptBlock
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ViModeIndicator

Esta opção define a indicação visual para o modo Vi atual. Modo de inserção ou modo de comando.

Os valores válidos são os seguintes:

  • Nenhum: Não há indicação.
  • prompt: o prompt altera a cor.
  • cursor: o cursor altera o tamanho.
  • Script: o texto especificado pelo usuário é impresso.

Propriedades do parâmetro

Tipo:ViModeStyle
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-WordDelimiters

Especifica os caracteres que delimitam palavras para funções como ForwardWord ou KillWord.

Propriedades do parâmetro

Tipo:String
Valor padrão:;:,.[]{}()/\|^&*-=+'"–—―
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

Não é possível canalizar objetos para Set-PSReadLineOption.

Saídas

None

Este cmdlet não gera saída.