PSReadLine
about_PSReadLine
DESCRIÇÃO BREVE
O PSReadLine fornece uma experiência aprimorada de edição de linha de comando no console do PowerShell.
DESCRIÇÃO LONGA
O PSReadLine fornece uma experiência avançada de edição de linha de comando para o console do PowerShell. Ele fornece:
- Coloração de sintaxe da linha de comando
- Uma indicação visual de erros de sintaxe
- Uma melhor experiência de várias linhas (edição e histórico)
- Associações de chave personalizáveis
- Modos Cmd e Emacs
- Muitas opções de configuração
- Preenchimento de estilo bash (opcional no modo Cmd, padrão no modo Emacs)
- Emacs ianque/kill ring
- Movimentação de "palavra" baseada em token do PowerShell e encerramento
As funções a seguir estão disponíveis na classe [Microsoft.PowerShell.PSConsoleReadLine].
Movimento do cursor
EndOfLine
- Cmd:
<End>
- Emacs:
<End>
ou<Ctrl+E>
Se a entrada tiver várias linhas, vá para o final da linha atual ou, se já estiver no final da linha, vá para o final da entrada. Se a entrada tiver uma única linha, vá para o final da entrada.
BeginningOfLine
- Cmd:
<Home>
- Emacs:
<Home>
ou<Ctrl+A>
Se a entrada tiver várias linhas, vá para o início da linha atual ou, se já estiver no início da linha, vá para o início da entrada. Se a entrada tiver uma única linha, vá para o início da entrada.
NextLine
- Cmd: não associado
- Emacs: não associado
Mova o cursor para a próxima linha se a entrada tiver várias linhas.
PreviousLine
- Cmd: não associado
- Emacs: não associado
Mova o cursor para a linha anterior se a entrada tiver várias linhas.
ForwardChar
- Cmd:
<RightArrow>
- Emacs:
<RightArrow>
ou<Ctrl+F>
Mova o cursor um caractere para a direita. Isso pode mover o cursor para a próxima linha de entrada de várias linhas.
BackwardChar
- Cmd:
<LeftArrow>
- Emacs:
<LeftArrow>
ou<Ctrl+B>
Mova o cursor um caractere para a esquerda. Isso pode mover o cursor para a linha anterior de entrada de várias linhas.
ForwardWord
- Cmd: não associado
- Emacs:
<Alt+F>
Mova o cursor para a frente até o final da palavra atual ou, se estiver entre palavras, até o final da próxima palavra. Você pode definir caracteres delimitadores de palavras com:
Set-PSReadLineOption -WordDelimiters `<string of delimiter characters>`
NextWord
- Cmd:
<Ctrl+RightArrow>
- Emacs: não associado
Mova o cursor para a frente até o início da próxima palavra. Você pode definir caracteres delimitadores de palavras com:
Set-PSReadLineOption -WordDelimiters `<string of delimiter characters>`
BackwardWord
- Cmd:
<Ctrl+LeftArrow>
- Emacs:
<Alt+B>
Mova o cursor de volta para o início da palavra atual ou, se estiver entre palavras, o início da palavra anterior. Você pode definir caracteres delimitadores de palavras com:
Set-PSReadLineOption -WordDelimiters `<string of delimiter characters>`
ShellForwardWord
- Cmd: não associado
- Emacs: não associado
Assim como ForwardWord, exceto os limites de palavras são definidos pelos limites de token do PowerShell.
ShellNextWord
- Cmd: não associado
- Emacs: não associado
Assim como NextWord, exceto que os limites de palavras são definidos pelos limites de token do PowerShell.
ShellBackwardWord
- Cmd: não associado
- Emacs: não associado
Assim como BackwardWord, exceto os limites de palavra são definidos pelos limites de token do PowerShell.
GotoBrace
- Cmd:
<Ctrl+}>
- Emacs: não associado
Vá para os parênteses, chaves ou colchetes correspondentes.
Addline
- Cmd:
<Shift-Enter>
- Emacs:
<Shift-Enter>
O prompt de continuação é exibido na próxima linha e PSReadLine aguarda as chaves editarem a entrada atual. Isso é útil para inserir a entrada de várias linhas como um único comando, mesmo quando uma única linha é a entrada completa por si só.
Edição básica
CancelLine
- Cmd: não associado
- Emacs: não associado
Cancele toda a edição na linha, deixe a linha de entrada na tela, mas retorne de PSReadLine sem executar a entrada.
RevertLine
- Cmd:
<ESC>
- Emacs:
<Alt+R>
Reverte toda a entrada desde que a última entrada foi aceita e executada. Isso é equivalente a usar o comando Desfazer até que não haja mais nada para desfazer.
BackwardDeleteChar
- Cmd:
<Backspace>
- Emacs:
<Backspace>
ou<Ctrl+H>
Exclua o caractere antes do cursor.
DeleteChar
- Cmd:
<Delete>
- Emacs:
<Delete>
Exclua o caractere sob o cursor.
DeleteCharOrExit
- Cmd: não associado
- Emacs:
<Ctrl+D>
Como DeleteChar, a menos que a linha esteja vazia, nesse caso, saia do processo.
AcceptLine
- Cmd:
<Enter>
- Emacs:
<Enter>
ou<Ctrl+M>
Tente executar a entrada atual. Se a entrada atual estiver incompleta (por exemplo, há um parêntese de fechamento ausente, colchete ou aspas), o prompt de continuação será exibido na próxima linha e PSReadLine aguardará as chaves editarem a entrada atual.
AcceptAndGetNext
- Cmd: não associado
- Emacs:
<Ctrl+O>
Como AcceptLine, mas depois que a linha for concluída, comece a editar a próxima linha do histórico.
ValidateAndAcceptLine
- Cmd: não associado
- Emacs: não associado
Como AcceptLine, mas executa validação adicional, incluindo:
- Verifica se há erros de análise adicionais
- Valida se todos os nomes de comando foram encontrados
- Se você estiver executando o PowerShell 4.0 ou mais recente, validará os parâmetros e os argumentos
Se houver erros, a mensagem de erro será exibida e não será aceita nem adicionada ao histórico, a menos que você corrija a linha de comando ou execute AcceptLine ou ValidateAndAcceptLine novamente enquanto a mensagem de erro é exibida.
BackwardDeleteLine
- Cmd:
<Ctrl+Home>
- Emacs: não associado
Exclua o texto do início da entrada para o cursor.
ForwardDeleteLine
- Cmd:
<Ctrl+End>
- Emacs: não associado
Exclua o texto do cursor até o final da entrada.
SelectBackwardChar
- Cmd:
<Shift+LeftArrow>
- Emacs:
<Shift+LeftArrow>
Ajuste a seleção atual para incluir o caractere anterior.
SelectForwardChar
- Cmd:
<Shift+RightArrow>
- Emacs:
<Shift+RightArrow>
Ajuste a seleção atual para incluir o próximo caractere.
SelectBackwardWord
- Cmd:
<Shift+Ctrl+LeftArrow>
- Emacs:
<Alt+Shift+B>
Ajuste a seleção atual para incluir a palavra anterior.
SelectForwardWord
- Cmd: não associado
- Emacs:
<Alt+Shift+F>
Ajuste a seleção atual para incluir a próxima palavra usando ForwardWord.
SelectNextWord
- Cmd:
<Shift+Ctrl+RightArrow>
- Emacs: não associado
Ajuste a seleção atual para incluir a próxima palavra usando NextWord.
SelectShellForwardWord
- Cmd: não associado
- Emacs: não associado
Ajuste a seleção atual para incluir a próxima palavra usando ShellForwardWord.
SelectShellNextWord
- Cmd: não associado
- Emacs: não associado
Ajuste a seleção atual para incluir a próxima palavra usando ShellNextWord.
SelectShellBackwardWord
- Cmd: não associado
- Emacs: não associado
Ajuste a seleção atual para incluir a palavra anterior usando ShellBackwardWord.
SelectBackwardsLine
- Cmd:
<Shift+Home>
- Emacs:
<Shift+Home>
Ajuste a seleção atual para incluir do cursor até o início da linha.
Selecionar Linha
- Cmd:
<Shift+End>
- Emacs:
<Shift+End>
Ajuste a seleção atual para incluir do cursor até o final da linha.
SelectAll
- Cmd:
<Ctrl+A>
- Emacs: não associado
Selecione a linha inteira. Move o cursor para o final da linha.
SelfInsert
- Cmd:
<a>
,<b>
, ... - Emacs:
<a>
,<b>
, ...
Insira a chave inserida.
Refazer
- Cmd:
<Ctrl+Y>
- Emacs: não associado
Refazer uma inserção ou exclusão que foi desfeita por Desfazer.
Desfazer
- Cmd:
<Ctrl+Z>
- Emacs:
<Ctrl+_>
Desfazer uma inserção ou exclusão anterior.
Histórico
ClearHistory
- Cmd:
<Alt+F7>
- Emacs: não associado
Limpa o histórico no PSReadLine. Isso não afeta o histórico do PowerShell.
PreviousHistory
- Cmd:
<UpArrow>
- Emacs:
<UpArrow>
ou<Ctrl+P>
Substitua a entrada atual pelo item anterior do histórico PSReadLine.
NextHistory
- Cmd:
<DownArrow>
- Emacs:
<DownArrow>
ou<Ctrl+N>
Substitua a entrada atual pelo próximo item do histórico PSReadLine.
ForwardSearchHistory
- Cmd:
<Ctrl+S>
- Emacs:
<Ctrl+S>
Pesquisa encaminhar da linha de histórico atual interativamente.
ReverseSearchHistory
- Cmd:
<Ctrl+R>
- Emacs:
<Ctrl+R>
Pesquisa para trás da linha de histórico atual interativamente.
HistorySearchBackward
- Cmd:
<F8>
- Emacs: unbound
Substitua a entrada atual pelo item anterior do histórico PSReadLine que corresponde aos caracteres entre o início e a entrada e o cursor.
HistorySearchForward
- Cmd:
<Shift+F8>
- Emacs: unbound
Substitua a entrada atual pelo próximo item do histórico PSReadLine que corresponde aos caracteres entre o início e a entrada e o cursor.
BeginningOfHistory
- Cmd: unbound
- Emacs:
<Alt+<>
Substitua a entrada atual pelo último item do histórico PSReadLine.
EndOfHistory
- Cmd: unbound
- Emacs:
<Alt+>>
Substitua a entrada atual pelo último item no histórico PSReadLine, que é a entrada possivelmente vazia que foi inserida antes de qualquer comando de histórico.
Conclusão da guia
TabCompleteNext
- Cmd:
<Tab>
- Emacs: unbound
Tente concluir o texto em torno do cursor com a próxima conclusão disponível.
TabCompletePrevious
- Cmd:
<Shift-Tab>
- Emacs: unbound
Tente concluir o texto em torno do cursor com a próxima conclusão anterior.
Concluir
- Cmd: unbound
- Emacs:
<Tab>
Tente executar a conclusão no texto ao redor do cursor. Se houver várias conclusões possíveis, o prefixo inequívoco mais longo será usado para conclusão. Se você estiver tentando concluir a conclusão inequívoca mais longa, uma lista de conclusões possíveis será exibida.
MenuComplete
- Cmd:
<Ctrl+Space>
- Emacs:
<Ctrl+Space>
Tente executar a conclusão no texto ao redor do cursor. Se houver várias conclusões possíveis, uma lista de conclusões possíveis será exibida e você poderá selecionar a conclusão correta usando as teclas de direção ou Tab/Shift+Tab. Escape e Ctrl+G cancelam a seleção de menu e reverter a linha para o estado antes de invocar MenuComplete.
PossibleCompletions
- Cmd: unbound
- Emacs:
<Alt+Equals>
Exiba a lista de conclusões possíveis.
SetMark
- Cmd: unbound
- Emacs:
<Alt+Space>
Marque o local atual do cursor para uso em um comando de edição subsequente.
ExchangePointAndMark
- Cmd: unbound
- Emacs:
<Ctrl+X,Ctrl+X>
O cursor é colocado no local da marca e a marca é movida para o local do cursor.
Kill/Yankee
Kill e Yankee operam em uma área de transferência no módulo PSReadLine. Há um buffer de anéis chamado kill ring - o texto morto é adicionado ao anel de morte e o puxão copiará o texto da morte mais recente. O YankPop percorre itens no anel de morte. Quando o anel de encerramento estiver cheio, novos itens substituirão os itens mais antigos. Uma operação de encerramento imediatamente precedida por outra operação de encerramento acrescenta o kill anterior, em vez de adicionar um novo item ou substituir um item no anel de encerramento. É assim que você pode cortar uma parte de uma linha, por exemplo, com várias operações KillWord e, em seguida, puxá-las de volta para outro lugar como um único puxão.
KillLine
- Cmd: unbound
- Emacs:
<Ctrl+K>
Limpe a entrada do cursor até o final da linha. O texto limpo é colocado no anel de encerramento.
BackwardKillLine
- Cmd: unbound
- Emacs:
<Ctrl+U>
ou<Ctrl+X,Backspace>
Limpe a entrada do início da entrada para o cursor. O texto limpo é colocado no anel de encerramento.
KillWord
- Cmd: unbound
- Emacs:
<Alt+D>
Limpe a entrada do cursor até o final da palavra atual. Se o cursor estiver entre palavras, a entrada será desmarcada do cursor até o final da próxima palavra. O texto limpo é colocado no anel de encerramento.
BackwardKillWord
- Cmd: unbound
- Emacs:
<Alt+Backspace>
Limpe a entrada do início da palavra atual para o cursor. Se o cursor estiver entre palavras, a entrada será desmarcada do início da palavra anterior para o cursor. O texto limpo é colocado no anel de encerramento.
ShellKillWord
- Cmd: unbound
- Emacs: unbound
Assim como KillWord, exceto os limites de palavras são definidos pelos limites de token do PowerShell.
ShellBackwardKillWord
- Cmd: unbound
- Emacs: unbound
Assim como BackwardKillWord, exceto os limites de palavra são definidos pelos limites do token do PowerShell.
UnixWordRubout
- Cmd: unbound
- Emacs:
<Ctrl+W>
Como BackwardKillWord, exceto os limites de palavra são definidos pelo espaço em branco.
KillRegion
- Cmd: unbound
- Emacs: unbound
Mate o texto entre o cursor e a marca.
Copiar
- Cmd:
<Ctrl+Shift+C>
- Emacs: unbound
Copie a região selecionada para a área de transferência do sistema. Se nenhuma região estiver selecionada, copie toda a linha.
CopyOrCancelLine
- Cmd:
<Ctrl+C>
- Emacs:
<Ctrl+C>
Copie o texto selecionado para a área de transferência ou, se nenhum texto estiver selecionado, cancele a edição da linha com CancelLine.
Recortar
- Cmd:
<Ctrl+X>
- Emacs: unbound
Exclua a região selecionada colocando o texto excluído na área de transferência do sistema.
Ianque
- Cmd: unbound
- Emacs:
<Ctrl+Y>
Adicione o texto morto mais recentemente à entrada.
YankPop
- Cmd: unbound
- Emacs:
<Alt+Y>
Se a operação anterior for Ianque ou IanquePop, substitua o texto anteriormente arrancado pelo próximo texto morto do anel de morte.
ClearKillRing
- Cmd: unbound
- Emacs: unbound
O conteúdo do anel de encerramento está limpo.
Colar
- Cmd:
<Ctrl+V>
- Emacs: unbound
Isso é semelhante ao Ianque, mas usa a área de transferência do sistema em vez do anel kill.
[!IMPORTANT]
Ao usar a função Colar , todo o conteúdo do buffer da área de transferência é colado no buffer de entrada do PSReadLine. Em seguida, o buffer de entrada é passado para o analisador do PowerShell. A entrada colada usando o método de colagem de clique com o botão direito do mouse do aplicativo de console é copiada para o buffer de entrada um caractere de cada vez. O buffer de entrada é passado para o analisador quando um caractere de nova linha é copiado. Portanto, a entrada é analisada uma linha por vez. A diferença entre os métodos de colagem resulta em um comportamento de execução diferente.
YankLastArg
- Cmd:
<Alt+.>
- Emacs:
<Alt+.>
,<Alt+_>
Insira o último argumento do comando anterior no histórico. As operações repetidas substituem o último argumento inserido pelo último argumento do comando anterior (portanto, Alt+. Alt+. inserirá o último argumento da linha de histórico de segundo a último).
Com um argumento, a primeira vez que YankLastArg se comporta como YankeeNthArg. Um argumento negativo nas chamadas de YankLastArg subsequentes altera a direção ao passar pelo histórico. Por exemplo, se você pressionar Alt+. muitas vezes, você pode digitar Alt+- Alt+. para inverter a direção.
Os argumentos são baseados em tokens do PowerShell.
YankeeNthArg
- Cmd: unbound
- Emacs:
<Alt+Ctrl+Y>
Insira o primeiro argumento (não o nome do comando) do comando anterior no histórico.
Com um argumento , insira o nº argumento em que 0 normalmente é o comando . Os argumentos negativos começam a partir do final.
Os argumentos são baseados em tokens do PowerShell.
Diversos
Anular
- Cmd: unbound
- Emacs:
<Ctrl+G>
Anular a ação atual; por exemplo, interrompa a pesquisa de histórico interativo. Não cancela a entrada como CancelLine.
CharacterSearch
- Cmd:
<F3>
- Emacs:
<Ctrl+]>
Leia uma chave e pesquise encaminhamentos para esse caractere. Com um argumento , a pesquisa encaminha para a nª ocorrência desse argumento. Com um argumento negativo, pesquisa para trás.
CharacterSearchBackward
- Cmd:
<Shift+F3>
- Emacs:
<Alt+Ctrl+]>
Como CharacterSearch, mas pesquisa para trás. Com um argumento negativo, pesquisa encaminhamentos.
ClearScreen
- Cmd:
<Ctrl+L>
- Emacs:
<Ctrl+L>
Limpa a tela e exibe o prompt e a entrada atuais na parte superior da tela.
DigitArgument
- Cmd: unbound
- Emacs:
<Alt+[0..9]>
,<any char>
,<Alt+->
Usado para passar argumentos numéricos para funções como CharacterSearch ou YankNthArg. Alt+- alterna o argumento para ser negativo/não negativo. Para inserir 80 caracteres '*', você pode digitar Alt+8 Alt+0 *.
CaptureScreen
- Cmd: unbound
- Emacs: unbound
Copia linhas selecionadas para a área de transferência em formatos de texto e RTF. Use as teclas de seta para cima/para baixo para a primeira linha a ser selecionada e, em seguida, Shift+UpArrow/Shift+DownArrow para selecionar várias linhas. Depois de selecionar, pressione Enter para copiar o texto. Escape/Ctrl+C/Ctrl+G cancelam a operação, portanto, nada é copiado para a área de transferência.
InvokePrompt
- Cmd: unbound
- Emacs: unbound
Apaga o prompt atual e chama a função prompt para redisplay do prompt. Útil para manipuladores de chave personalizados que alteram o estado, como alterar o diretório atual.
WhatIsKey
- Cmd:
<Alt+?>
- Emacs:
<Alt+?>
Leia uma tecla ou acorde e exiba a associação de teclas.
ShowKeyBindings
- Cmd:
<Ctrl+Alt+?>
- Emacs:
<Ctrl+Alt+?>
Mostrar todas as chaves associadas no momento.
ScrollDisplayUp
- Cmd:
<PageUp>
- Emacs:
<PageUp>
Role a tela para cima.
ScrollDisplayUpLine
- Cmd:
<Ctrl+PageUp>
- Emacs:
<Ctrl+PageUp>
Role a tela para cima em uma linha.
ScrollDisplayDown
- Cmd:
<PageDown>
- Emacs:
<PageDown>
Role a tela para baixo em uma tela.
ScrollDisplayDownLine
- Cmd:
<Ctrl+PageDown>
- Emacs:
<Ctrl+PageDown>
Role a tela para baixo em uma linha.
ScrollDisplayTop
- Cmd: unbound
- Emacs:
<Ctrl+Home>
Role a tela até a parte superior.
ScrollDisplayToCursor
- Cmd: unbound
- Emacs:
<Ctrl+End>
Role a tela até o cursor.
Associações de chave personalizadas
O PSReadLine dá suporte a associações de chave personalizadas usando o cmdlet Set-PSReadLineKeyHandler
. A maioria das associações de chave personalizadas chama uma das funções acima, por exemplo
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Você pode associar um ScriptBlock a uma chave. O ScriptBlock pode fazer praticamente tudo o que você quiser. Alguns exemplos úteis incluem
- editar a linha de comando
- abrindo uma nova janela (por exemplo, ajuda)
- alterar diretórios sem alterar a linha de comando
O ScriptBlock recebe dois argumentos:
$key
- Um objeto [ConsoleKeyInfo] que é a chave que disparou a associação personalizada. Se você associar o mesmo ScriptBlock a várias chaves e precisar executar ações diferentes dependendo da chave, poderá marcar $key. Muitas associações personalizadas ignoram esse argumento.$arg
- Um argumento arbitrário. Na maioria das vezes, esse seria um argumento inteiro que o usuário passa das associações de chave DigitArgument. Se a associação não aceitar argumentos, será razoável ignorar esse argumento.
Vamos dar uma olhada em um exemplo que adiciona uma linha de comando ao histórico sem executá-la. Isso é útil quando você percebe que esqueceu de fazer algo, mas não quer inserir novamente a linha de comando que você já inseriu.
$parameters = @{
Key = 'Alt+w'
BriefDescription = 'SaveInHistory'
LongDescription = 'Save current line in history but do not execute'
ScriptBlock = {
param($key, $arg) # The arguments are ignored in this example
# GetBufferState gives us the command line (with the cursor position)
$line = $null
$cursor = $null
[Microsoft.PowerShell.PSConsoleReadLine]::GetBufferState([ref]$line,
[ref]$cursor)
# AddToHistory saves the line in history, but does not execute it.
[Microsoft.PowerShell.PSConsoleReadLine]::AddToHistory($line)
# RevertLine is like pressing Escape.
[Microsoft.PowerShell.PSConsoleReadLine]::RevertLine()
}
}
Set-PSReadLineKeyHandler @parameters
Você pode ver muitos outros exemplos no arquivo SamplePSReadLineProfile.ps1
que está instalado na pasta do módulo PSReadLine.
A maioria das associações de chave usa algumas funções auxiliares para editar a linha de comando. Essas APIs estão documentadas na próxima seção.
APIs de suporte à associação de chave personalizada
As funções a seguir são públicas em Microsoft.PowerShell.PSConsoleReadLine, mas não podem ser diretamente associadas a uma chave. A maioria é útil em associações de chave personalizadas.
void AddToHistory(string command)
Adicione uma linha de comando ao histórico sem executá-la.
void ClearKillRing()
Limpe o anel de morte. Isso é usado principalmente para teste.
void Delete(int start, int length)
Exclua caracteres de comprimento desde o início. Esta operação dá suporte a desfazer/refazer.
void Ding()
Execute a ação Ding com base na preferência dos usuários.
void GetBufferState([ref] string input, [ref] int cursor)
void GetBufferState([ref] Ast ast, [ref] Token[] tokens,
[ref] ParseError[] parseErrors, [ref] int cursor)
Essas duas funções recuperam informações úteis sobre o estado atual do buffer de entrada. O primeiro é mais comumente usado para casos simples. O segundo será usado se a associação estiver fazendo algo mais avançado com o Ast.
IEnumerable[Microsoft.PowerShell.KeyHandler]
GetKeyHandlers(bool includeBound, bool includeUnbound)
Essa função é usada por Get-PSReadLineKeyHandler e provavelmente não é útil em uma associação de chave personalizada.
Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()
Essa função é usada por Get-PSReadLineOption e provavelmente não é muito útil em uma associação de chave personalizada.
void GetSelectionState([ref] int start, [ref] int length)
Se não houver seleção na linha de comando, -1 será retornado no início e no comprimento. Se houver uma seleção na linha de comando, o início e o comprimento da seleção serão retornados.
void Insert(char c)
void Insert(string s)
Insira um caractere ou cadeia de caracteres no cursor. Esta operação dá suporte a desfazer/refazer.
string ReadLine(runspace remoteRunspace,
System.Management.Automation.EngineIntrinsics engineIntrinsics)
Esse é o ponto de entrada main para PSReadLine. Ele não dá suporte à recursão, portanto, não é útil em uma associação de chave personalizada.
void RemoveKeyHandler(string[] key)
Essa função é usada por Remove-PSReadLineKeyHandler e provavelmente não é muito útil em uma associação de chave personalizada.
void Replace(int start, int length, string replacement)
Substitua parte da entrada. Esta operação dá suporte a desfazer/refazer. Isso é preferencial em vez de Excluir seguido por Inserir porque ele é tratado como uma única ação para desfazer.
void SetCursorPosition(int cursor)
Mova o cursor para o deslocamento fornecido. O movimento do cursor não é rastreado para desfazer.
void SetOptions(Microsoft.PowerShell.SetPSReadLineOption options)
Essa função é um método auxiliar usado pelo cmdlet Set-PSReadLineOption, mas pode ser útil para uma associação de chave personalizada que deseja alterar temporariamente uma configuração.
bool TryGetArgAsInt(System.Object arg, [ref] int numericArg,
int defaultNumericArg)
Esse método auxiliar é usado para associações personalizadas que respeitam DigitArgument. Uma chamada típica se parece com
[int]$numericArg = 0
[Microsoft.PowerShell.PSConsoleReadLine]::TryGetArgAsInt($arg,
[ref]$numericArg, 1)
OBSERVAÇÃO
COMPATIBILIDADE DO POWERSHELL
O PSReadLine requer o PowerShell 3.0 ou mais recente e o host do console. Ele não funciona no ISE do PowerShell. Ele funciona no console do Visual Studio Code.
HISTÓRICO DE COMANDOS
O PSReadLine mantém um arquivo de histórico que contém todos os comandos e dados inseridos na linha de comando. Isso pode conter dados confidenciais, incluindo senhas. Por exemplo, se você usar o ConvertTo-SecureString
cmdlet, a senha será registrada no arquivo de histórico como texto sem formatação. Os arquivos de histórico são um arquivo chamado $($host.Name)_history.txt
. Em sistemas Windows, o arquivo de histórico é armazenado em $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine
.
COMENTÁRIOS & CONTRIBUINDO PARA PSReadLine
Fique à vontade para enviar uma solicitação de pull ou enviar comentários na página do GitHub.
CONSULTE TAMBÉM
O PSReadLine é fortemente influenciado pela biblioteca de linha de leitura do GNU.