Sdílet prostřednictvím


PSReadLine

about_PSReadLine

KRÁTKÝ POPIS

PSReadLine poskytuje vylepšené prostředí pro úpravy příkazového řádku v konzole PowerShellu.

DLOUHÝ POPIS

PSReadLine poskytuje výkonné prostředí pro úpravy příkazového řádku pro konzolu PowerShellu. Poskytuje:

  • Obarvení syntaxe příkazového řádku
  • Vizuální indikace chyb syntaxe
  • Lepší víceřádkové prostředí (úpravy i historie)
  • Přizpůsobitelné vazby klíčů
  • Režimy Cmd a Emacs
  • Mnoho možností konfigurace
  • Dokončování stylu Bash (volitelné v režimu Cmd, výchozí nastavení v režimu Emacs)
  • Emacs trhací/kill ring
  • Pohyb a zabití "slova" na základě tokenu PowerShell

Ve třídě [Microsoft.PowerShell.PSConsoleReadLine] jsou k dispozici následující funkce.

Pohyb kurzoru

Konec řádku

  • Cmd: <End>
  • Emacs: <End> nebo <Ctrl+E>

Pokud má vstup více řádků, přesuňte se na konec aktuálního řádku nebo pokud je již na konci řádku, přejděte na konec vstupu. Pokud má vstup jeden řádek, přejděte na konec vstupu.

ZačátekOfLine

  • Cmd: <Home>
  • Emacs: <Home> nebo <Ctrl+A>

Pokud má vstup více řádků, přejděte na začátek aktuálního řádku nebo pokud je již na začátku řádku, přejděte na začátek vstupu. Pokud má vstup jeden řádek, přejděte na začátek vstupu.

Další řádek

  • Cmd: nesvázaný
  • Emacs: nevázaný

Přesuňte kurzor na další řádek, pokud má vstup více řádků.

Předchozí řádek

  • Cmd: nesvázaný
  • Emacs: nevázaný

Přesuňte kurzor na předchozí řádek, pokud má vstup více řádků.

ForwardChar

  • Cmd: <RightArrow>
  • Emacs: <RightArrow> nebo <Ctrl+F>

Přesunutí kurzoru o jeden znak doprava To může přesunout kurzor na další řádek víceřádkového vstupu.

Zpětná znaména

  • Cmd: <LeftArrow>
  • Emacs: <LeftArrow> nebo <Ctrl+B>

Přesunutí kurzoru o jeden znak doleva Tím se může kurzor přesunout na předchozí řádek víceřádkového vstupu.

Funkce ForwardWord

  • Cmd: nesvázaný
  • Emacs: <Alt+F>

Přesuňte kurzor dopředu na konec aktuálního slova nebo mezi slovy na konec dalšího slova. Znaky oddělovače slov můžete nastavit takto:

Set-PSReadLineOption -WordDelimiters `<string of delimiter characters>`

DalšíSlovo

  • Cmd: <Ctrl+RightArrow>
  • Emacs: nevázaný

Přesuňte kurzor dopředu na začátek dalšího slova. Znaky oddělovače slov můžete nastavit takto:

Set-PSReadLineOption -WordDelimiters `<string of delimiter characters>`

Zpětná slova

  • Cmd: <Ctrl+LeftArrow>
  • Emacs: <Alt+B>

Přesuňte kurzor zpět na začátek aktuálního slova nebo mezi slovy na začátek předchozího slova. Znaky oddělovače slov můžete nastavit takto:

Set-PSReadLineOption -WordDelimiters `<string of delimiter characters>`

ShellForwardWord

  • Cmd: nesvázaný
  • Emacs: nevázaný

Podobně jako ForwardWord s tím rozdílem, že hranice slov jsou definovány hranicemi tokenů PowerShellu.

ShellNextWord

  • Cmd: nesvázaný
  • Emacs: nevázaný

Podobně jako NextWord s tím rozdílem, že hranice slov jsou definovány hranicemi tokenů PowerShellu.

ShellBackwardWord

  • Cmd: nesvázaný
  • Emacs: nevázaný

Podobně jako BackwardWord s tím rozdílem, že hranice slov jsou definovány hranicemi tokenů PowerShellu.

Přepínač GotoBrace

  • Cmd: <Ctrl+}>
  • Emacs: nevázaný

Přejděte na odpovídající závorky, složenou závorku nebo hranatou závorku.

Přidat řádek

  • Cmd: <Shift-Enter>
  • Emacs: <Shift-Enter>

Výzva k pokračování se zobrazí na dalším řádku a PSReadLine čeká, až klíče upraví aktuální vstup. To je užitečné k zadání víceřádkového vstupu jako jediného příkazu, i když je jeden řádek úplný vstup sám.

Základní úpravy

CancelLine

  • Cmd: nesvázaný
  • Emacs: nevázaný

Zrušte všechny úpravy na řádku, ponechte vstupní řádek na obrazovce, ale vraťte se z PSReadLine bez provedení vstupu.

Zpětná spojnice

  • Cmd: <ESC>
  • Emacs: <Alt+R>

Vrátí všechny vstupy od přijetí a spuštění posledního vstupu. To je ekvivalentní použití příkazu Zpět, dokud nezůstane nic k vrácení zpět.

Zpětná oddeleteChar

  • Cmd: <Backspace>
  • Emacs: <Backspace> nebo <Ctrl+H>

Odstraňte znak před kurzorem.

OdstranitZnak

  • Cmd: <Delete>
  • Emacs: <Delete>

Odstraňte znak pod kurzorem.

OdstranitCharOrExit

  • Cmd: nesvázaný
  • Emacs: <Ctrl+D>

Podobně jako DeleteChar, pokud řádek není prázdný, v takovém případě proces ukončete.

AcceptLine

  • Cmd: <Enter>
  • Emacs: <Enter> nebo <Ctrl+M>

Pokus o spuštění aktuálního vstupu Pokud je aktuální vstup neúplný (například chybí pravá závorka, závorka nebo uvozovky), zobrazí se na dalším řádku výzva k pokračování a PSReadLine počká na klávesy k úpravě aktuálního vstupu.

Akceptovat a získat další

  • Cmd: nesvázaný
  • Emacs: <Ctrl+O>

Podobně jako AcceptLine, ale po dokončení řádku začněte upravovat další řádek z historie.

ValidateAndAcceptLine

  • Cmd: nesvázaný
  • Emacs: nevázaný

Podobně jako AcceptLine, ale provádí další ověřování, včetně:

  • Zkontroluje další chyby analýzy
  • Ověří, zda jsou nalezeny všechny názvy příkazů
  • Pokud používáte PowerShell 4.0 nebo novější, ověří parametry a argumenty

Pokud dojde k nějakým chybám, zobrazí se chybová zpráva, která nebude přijata ani přidána do historie, pokud během zobrazení chybové zprávy znovu neopravíte příkazový řádek nebo nespustíte příkaz AcceptLine nebo ValidateAndAcceptLine.

ZpětNásměrná spojnice

  • Cmd: <Ctrl+Home>
  • Emacs: nevázaný

Odstraňte text od začátku vstupu do kurzoru.

ForwardDeleteLine

  • Cmd: <Ctrl+End>
  • Emacs: nevázaný

Odstraňte text od kurzoru až po konec vstupu.

SelectBackwardChar

  • Cmd: <Shift+LeftArrow>
  • Emacs: <Shift+LeftArrow>

Upravte aktuální výběr tak, aby zahrnoval předchozí znak.

Vybrat ForwardChar

  • Cmd: <Shift+RightArrow>
  • Emacs: <Shift+RightArrow>

Upravte aktuální výběr tak, aby zahrnoval další znak.

SelectBackwardWord

  • Cmd: <Shift+Ctrl+LeftArrow>
  • Emacs: <Alt+Shift+B>

Upravte aktuální výběr tak, aby zahrnoval předchozí slovo.

VybratForwardWord

  • Cmd: nesvázaný
  • Emacs: <Alt+Shift+F>

Upravte aktuální výběr tak, aby zahrnoval další slovo pomocí příkazu ForwardWord.

VybratDalšíSlovo

  • Cmd: <Shift+Ctrl+RightArrow>
  • Emacs: nevázaný

Upravte aktuální výběr tak, aby obsahoval další slovo pomocí NextWord.

VybratShellForwardWord

  • Cmd: nesvázaný
  • Emacs: nevázaný

Upravte aktuální výběr tak, aby zahrnoval další slovo pomocí ShellForwardWord.

VybratShellNextWord

  • Cmd: nesvázaný
  • Emacs: nevázaný

Upravte aktuální výběr tak, aby zahrnoval další slovo pomocí ShellNextWord.

SelectShellBackwardWord

  • Cmd: nesvázaný
  • Emacs: nevázaný

Upravte aktuální výběr tak, aby zahrnoval předchozí slovo pomocí ShellBackwardWord.

SelectBackwardsLine

  • Cmd: <Shift+Home>
  • Emacs: <Shift+Home>

Upravte aktuální výběr tak, aby zahrnoval kurzor na začátek řádku.

Volba SelectLine

  • Cmd: <Shift+End>
  • Emacs: <Shift+End>

Upravte aktuální výběr tak, aby zahrnoval kurzor na konec řádku.

Vybrat vše

  • Cmd: <Ctrl+A>
  • Emacs: nevázaný

Vyberte celý řádek. Přesune kurzor na konec řádku.

Vložení vlastního vložení

  • Cmd: <a>, <b>, ...
  • Emacs: <a>, <b>, ...

Vložte zadaný klíč.

Znovu

  • Cmd: <Ctrl+Y>
  • Emacs: nevázaný

Znovu proveďte vložení nebo odstranění, které bylo vráceno příkazem Zpět.

Zpět

  • Cmd: <Ctrl+Z>
  • Emacs: <Ctrl+_>

Vraťte zpět předchozí vložení nebo odstranění.

Historie

ClearHistory

  • Cmd: <Alt+F7>
  • Emacs: nevázaný

Vymaže historii v PSReadLine. To nemá vliv na historii PowerShellu.

PředchozíHistory

  • Cmd: <UpArrow>
  • Emacs: <UpArrow> nebo <Ctrl+P>

Nahraďte aktuální vstup předchozí položkou z historie PSReadLine.

dalšíHistorie

  • Cmd: <DownArrow>
  • Emacs: <DownArrow> nebo <Ctrl+N>

Nahraďte aktuální vstup další položkou z historie PSReadLine.

ForwardSearchHistory

  • Cmd: <Ctrl+S>
  • Emacs: <Ctrl+S>

Interaktivně vyhledávejte vpřed od aktuální linie historie.

Historie reverzního vyhledávání

  • Cmd: <Ctrl+R>
  • Emacs: <Ctrl+R>

Interaktivně vyhledávat zpět od aktuálního řádku historie.

HistorieSearchBackward

  • Cmd: <F8>
  • Emacs: nevázaný

Nahraďte aktuální vstup předchozí položkou z historie PSReadLine, která odpovídá znakům mezi počátečním a vstupním textem a kurzorem.

HistorySearchForward

  • Cmd: <Shift+F8>
  • Emacs: nevázaný

Nahraďte aktuální vstup další položkou z historie PSReadLine, která odpovídá znakům mezi počátečním a vstupním textem a kurzorem.

ZačátekOfHistory

  • Cmd: nesvázaný
  • Emacs: <Alt+<>

Nahraďte aktuální vstup poslední položkou z historie PSReadLine.

Konec historie

  • Cmd: nesvázaný
  • Emacs: <Alt+>>

Nahraďte aktuální vstup poslední položkou v historii PSReadLine, což je pravděpodobně prázdný vstup, který byl zadán před příkazy historie.

Dokončení tabulátoru

TabCompleteNext

  • Cmd: <Tab>
  • Emacs: nevázaný

Pokuste se dokončit text kolem kurzoru dalším dostupným dokončením.

TabCompletePrevious

  • Cmd: <Shift-Tab>
  • Emacs: nevázaný

Pokuste se dokončit text obklopující kurzor dalším předchozím dokončením.

Dokončit

  • Cmd: nesvázaný
  • Emacs: <Tab>

Pokus o dokončení textu kolem kurzoru Pokud existuje více možných dokončení, použije se k dokončení nejdelší jednoznačná předpona. Pokud se snažíte dokončit nejdelší jednoznačné dokončení, zobrazí se seznam možných dokončení.

  • Cmd: <Ctrl+Space>
  • Emacs: <Ctrl+Space>

Pokus o dokončení textu kolem kurzoru Pokud existuje více možných dokončení, zobrazí se seznam možných dokončení a správné dokončení můžete vybrat pomocí kláves se šipkami nebo pomocí kláves Tab/Shift+Tab. Klávesy Escape a Ctrl+G zruší výběr nabídky a vrátí řádek do stavu před vyvoláním příkazu MenuComplete.

Možné dokončení

  • Cmd: nesvázaný
  • Emacs: <Alt+Equals>

Zobrazí seznam možných dokončení.

Značka SetMark

  • Cmd: nesvázaný
  • Emacs: <Alt+Space>

Označte aktuální umístění kurzoru pro použití v dalším příkazu pro úpravy.

ExchangePointAndMark

  • Cmd: nesvázaný
  • Emacs: <Ctrl+X,Ctrl+X>

Kurzor se umístí na místo značky a značka se přesune do umístění kurzoru.

Zabít/Trhnout

Kill a Yank pracují ve schránce v modulu PSReadLine. Existuje kruhová vyrovnávací paměť nazývaná kill ring - zabitý text je přidán do kill ringu a yank zkopíruje text z posledního kill. YankPop cyklicky prochází položky v kruhu zabíjení. Když je zabíjecí kruh plný, nové předměty nahradí ty nejstarší. Operace zabití, které bezprostředně předchází jiná operace zabití, připojí předchozí zabití namísto přidání nové položky nebo nahrazení položky v okruhu zabití. Takto můžete přestřihnout část čáry, například pomocí více operací KillWord, a pak je jedním tahem stáhnout zpět jinam.

Vražedná linie

  • Cmd: nesvázaný
  • Emacs: <Ctrl+K>

Vymažte vstup od kurzoru až po konec řádku. Vymazaný text se umístí do okruhu dezaktivace.

BackwardKillLine

  • Cmd: nesvázaný
  • Emacs: <Ctrl+U> nebo <Ctrl+X,Backspace>

Vymažte vstup od začátku vstupu na kurzor. Vymazaný text se umístí do okruhu dezaktivace.

Zabít Slovo

  • Cmd: nesvázaný
  • Emacs: <Alt+D>

Vymažte vstup od kurzoru na konec aktuálního slova. Pokud je kurzor mezi slovy, vstup se vymaže z kurzoru na konec dalšího slova. Vymazaný text se umístí do okruhu dezaktivace.

BackwardKillWord

  • Cmd: nesvázaný
  • Emacs: <Alt+Backspace>

Vymažte vstup od začátku aktuálního slova na kurzor. Pokud je kurzor mezi slovy, vstup se vymaže od začátku předchozího slova k kurzoru. Vymazaný text se umístí do okruhu dezaktivace.

ShellKillWord

  • Cmd: nesvázaný
  • Emacs: nevázaný

Podobně jako KillWord s tím rozdílem, že hranice slov jsou definovány hranicemi tokenu PowerShellu.

ShellBackwardKillWord

  • Cmd: nesvázaný
  • Emacs: nevázaný

Podobně jako BackwardKillWord s tím rozdílem, že hranice slov jsou definovány hranicemi tokenů PowerShellu.

UnixWordRubout

  • Cmd: nesvázaný
  • Emacs: <Ctrl+W>

Podobně jako BackwardKillWord, s tím rozdílem, že hranice slov jsou definovány prázdnými znaky.

KillRegion

  • Cmd: nesvázaný
  • Emacs: nevázaný

Ukončete text mezi kurzorem a značkou.

Kopírovat

  • Cmd: <Ctrl+Shift+C>
  • Emacs: nevázaný

Zkopírujte vybranou oblast do schránky systému. Pokud není vybrána žádná oblast, zkopírujte celý řádek.

Řádek CopyOrCancelLine

  • Cmd: <Ctrl+C>
  • Emacs: <Ctrl+C>

Vybraný text buď zkopírujte do schránky, nebo pokud není vybrán žádný text, zrušte úpravy řádku pomocí funkce ZrušitŘádek.

Střihni

  • Cmd: <Ctrl+X>
  • Emacs: nevázaný

Umožňuje odstranit vybranou oblast, která umístí odstraněný text do systémové schránky.

Trhnout

  • Cmd: nesvázaný
  • Emacs: <Ctrl+Y>

Do vstupu přidejte naposledy ukončený text.

YankPop

  • Cmd: nesvázaný
  • Emacs: <Alt+Y>

Pokud byla předchozí operace Yank nebo YankPop, nahraďte dříve vytažený text dalším ukončeným textem z dezaktivačního kruhu.

ČistýKillRing

  • Cmd: nesvázaný
  • Emacs: nevázaný

Obsah kruhu zabíjení je vymazán.

Vložit

  • Cmd: <Ctrl+V>
  • Emacs: nevázaný

Je to podobné jako Yank, ale místo zabíjecího kruhu se používá systémová schránka.

[! DŮLEŽITÉ]

Při použití funkce Vložit se celý obsah vyrovnávací paměti schránky vloží do vstupní vyrovnávací paměti PSReadLine. Vstupní vyrovnávací paměť se pak předá analyzátoru PowerShellu. Vstup vložený pomocí konzolové aplikace se po kliknutí pravým tlačítkem myši metoda vložení zkopíruje do vstupní vyrovnávací paměti jeden znak najednou. Vstupní vyrovnávací paměť se předá analyzátoru při zkopírování znaku nového řádku. Proto je vstup analyzován po jednom řádku najednou. Rozdíl mezi metodami vložení vede k odlišnému chování při provádění.

YankLastArg řekl:

  • Cmd: <Alt+.>
  • Emacs: <Alt+.>, <Alt+_>

Vložte poslední argument z předchozího příkazu v historii. Opakované operace nahradí poslední vložený argument posledním argumentem z předchozího příkazu (takže Alt+. Alt+. vloží poslední argument předposledního řádku historie).

S argumentem se YankLastArg poprvé chová jako YankNthArg. Záporný argument při následných voláních YankLastArg mění směr při procházení historií. Pokud například stisknete klávesu Alt+. příliš mnohokrát, můžete napsat Alt+- Alt+. pro obrácení směru.

Argumenty jsou založeny na tokenech PowerShellu.

YankNthArg

  • Cmd: nesvázaný
  • Emacs: <Alt+Ctrl+Y>

Vložte první argument (nikoli název příkazu) předchozího příkazu v historii.

U argumentu vložte n-tý argument, kde 0 je obvykle příkaz. Záporné argumenty začínají od konce.

Argumenty jsou založeny na tokenech PowerShellu.

Různé

Zrušit

  • Cmd: nesvázaný
  • Emacs: <Ctrl+G>

Přerušte aktuální akci; Například zastavte interaktivní vyhledávání historie. Nezruší vstup jako CancelLine.

Vyhledávání znaků

  • Cmd: <F3>
  • Emacs: <Ctrl+]>

Přečtěte klíč a vyhledejte tento znak dál. U argumentu vyhledá dopředu n-tý výskyt tohoto argumentu. Se záporným argumentem hledá zpět.

ZnakyVyhledáváníDozadu

  • Cmd: <Shift+F3>
  • Emacs: <Alt+Ctrl+]>

Podobně jako CharacterSearch, ale vyhledává zpětně. Se záporným argumentem hledá vpřed.

Vyčistit obrazovku

  • Cmd: <Ctrl+L>
  • Emacs: <Ctrl+L>

Vymaže obrazovku a zobrazí aktuální výzvu a vstup v horní části obrazovky.

Číselný argument

  • Cmd: nesvázaný
  • Emacs: <Alt+[0..9]>,<any char>,<Alt+->

Slouží k předání číselných argumentů funkcím, jako je CharacterSearch nebo YankNthArg. Alt+- přepne argument na záporný/nezáporný. Chcete-li zadat 80 znaků '*', můžete zadat Alt+8 Alt+0 *.

CaptureScreen

  • Cmd: nesvázaný
  • Emacs: nevázaný

Zkopíruje vybrané řádky do schránky v textovém i RTF formátu. Pomocí kláves se šipkami nahoru/dolů vyberte první řádek a poté pomocí kláves Shift+Šipka nahoru/Shift+Šipka dolů vyberte více řádků. Po výběru stiskněte klávesu Enter pro zkopírování textu. Escape/Ctrl+C/Ctrl+G zruší operaci, takže se do schránky nic nezkopíruje.

Výzva vyvolání

  • Cmd: nesvázaný
  • Emacs: nevázaný

Vymaže aktuální výzvu a zavolá funkci výzvy k opětovnému zobrazení výzvy. To je užitečné pro vlastní obslužné rutiny klíčů, které mění stav, jako je například změna aktuálního adresáře.

Co je klíč

  • Cmd: <Alt+?>
  • Emacs: <Alt+?>

Přečtěte si tóninu nebo akord a zobrazte klávesovou zkratku.

ZobrazitKlíčové vazby

  • Cmd: <Ctrl+Alt+?>
  • Emacs: <Ctrl+Alt+?>

Zobrazí všechny aktuálně vázané klíče.

ScrollDisplayUp

  • Cmd: <PageUp>
  • Emacs: <PageUp>

Posuňte zobrazení o jednu obrazovku nahoru.

ScrollDisplayUpLine

  • Cmd: <Ctrl+PageUp>
  • Emacs: <Ctrl+PageUp>

Posuňte zobrazení o jeden řádek nahoru.

ScrollDisplayDown

  • Cmd: <PageDown>
  • Emacs: <PageDown>

Posuňte zobrazení o jednu obrazovku dolů.

ScrollDisplayDownLine

  • Cmd: <Ctrl+PageDown>
  • Emacs: <Ctrl+PageDown>

Posuňte zobrazení o jeden řádek dolů.

ScrollDisplayTop

  • Cmd: nesvázaný
  • Emacs: <Ctrl+Home>

Posuňte zobrazení na začátek.

ScrollDisplayToCursor

  • Cmd: nesvázaný
  • Emacs: <Ctrl+End>

Posuňte zobrazení na kurzor.

Vlastní vazby klíčů

PSReadLine podporuje vlastní vazby kláves pomocí rutiny Set-PSReadLineKeyHandler. Většina vlastních klávesových zkratek volá například jednu z výše uvedených funkcí

Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward

SkriptBlock můžete svázat s klíčem. ScriptBlock může udělat prakticky cokoli, co chcete. Mezi užitečné příklady patří:

  • úprava příkazového řádku
  • otevření nového okna (např. nápověda)
  • změna adresářů beze změny příkazového řádku

ScriptBlock přijímá dva argumenty:

  • $key – objekt [ConsoleKeyInfo], který je klíčem, který aktivoval vlastní vazbu. Pokud svážete stejný blok ScriptBlock s více klíči a potřebujete provést různé akce v závislosti na klíči, můžete $key zkontrolovat. Mnoho vlastních vazeb tento argument ignoruje.

  • $arg – libovolný argument. Nejčastěji se jedná o celočíselný argument, který uživatel předává z vazeb klíčů DigitArgument. Pokud vazba nepřijímá argumenty, je vhodné tento argument ignorovat.

Podívejme se na příklad, který přidá příkazový řádek do historie bez jeho spuštění. To je užitečné, když zjistíte, že jste něco zapomněli udělat, ale nechcete znovu zadat příkazový řádek, který jste už zadali.

$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

Mnoho dalších příkladů můžete vidět v souboru SamplePSReadLineProfile.ps1 , který je nainstalován ve složce modulu PSReadLine.

Většina klíčových vazeb používá některé pomocné funkce pro úpravu příkazového řádku. Tato rozhraní API jsou popsána v následující části.

Rozhraní API pro podporu vlastních vazeb klíčů

Následující funkce jsou veřejné v Microsoft.PowerShell.PSConsoleReadLine, ale nelze je přímo svázat s klíčem. Nejužitečnější jsou ve vlastních vazbách klíčů.

void AddToHistory(string command)

Přidejte příkazový řádek do historie bez jeho spuštění.

void ClearKillRing()

Vyčistěte zabíjecí kruh. Nejčastěji se používá k testování.

void Delete(int start, int length)

Odstraňte od začátku znaky délky. Tato operace podporuje vrácení zpět/znovu.

void Ding()

Proveďte akci Ding na základě preferencí uživatele.

void GetBufferState([ref] string input, [ref] int cursor)
void GetBufferState([ref] Ast ast, [ref] Token[] tokens,
  [ref] ParseError[] parseErrors, [ref] int cursor)

Tyto dvě funkce načítají užitečné informace o aktuálním stavu vstupní vyrovnávací paměti. První se častěji používá pro jednoduché případy. Druhá se použije, pokud vaše vazba provádí něco pokročilejšího s ast.

IEnumerable[Microsoft.PowerShell.KeyHandler]
  GetKeyHandlers(bool includeBound, bool includeUnbound)

Tuto funkci používají Get-PSReadLineKeyHandler a pravděpodobně není užitečná ve vlastní vazbě kláves.

Microsoft.PowerShell.PSConsoleReadLineOptions GetOptions()

Tuto funkci používá Get-PSReadLineOption a pravděpodobně není příliš užitečná ve vlastní vazbě klíče.

void GetSelectionState([ref] int start, [ref] int length)

Pokud na příkazovém řádku není žádný výběr, vrátí se -1 na začátku i v délce. Pokud je na příkazovém řádku výběr, vrátí se začátek a délka výběru.

void Insert(char c)
void Insert(string s)

Na kurzor vložte znak nebo řetězec. Tato operace podporuje vrácení zpět/znovu.

string ReadLine(runspace remoteRunspace,
  System.Management.Automation.EngineIntrinsics engineIntrinsics)

Toto je hlavní vstupní bod psReadLine. Nepodporuje rekurzi, takže není užitečný ve vlastní vazbě klíče.

void RemoveKeyHandler(string[] key)

Tuto funkci používá Remove-PSReadLineKeyHandler a pravděpodobně není příliš užitečná ve vlastní vazbě klíče.

void Replace(int start, int length, string replacement)

Vyměňte část vstupu. Tato operace podporuje vrácení zpět/znovu. Tato možnost je upřednostňována před příkazem Odstranit následovaným příkazem Vložit, protože se považuje za jedinou akci pro vrácení zpět.

void SetCursorPosition(int cursor)

Přesuňte kurzor na daný posun. Pohyb kurzoru není sledován pro vrácení zpět.

void SetOptions(Microsoft.PowerShell.SetPSReadLineOption options)

Tato funkce je pomocná metoda používaná rutinou Set-PSReadLineOption, ale může být užitečná pro vlastní vazbu klíče, která chce dočasně změnit nastavení.

bool TryGetArgAsInt(System.Object arg, [ref] int numericArg,
  int defaultNumericArg)

Tato pomocná metoda se používá pro vlastní vazby, které dodržují DigitArgument. Typický hovor vypadá takto:

[int]$numericArg = 0
[Microsoft.PowerShell.PSConsoleReadLine]::TryGetArgAsInt($arg,
  [ref]$numericArg, 1)

POZNÁMKA

KOMPATIBILITA S POWERSHELLEM

PSReadLine vyžaduje PowerShell 3.0 nebo novější a hostitele konzoly. Nefunguje v prostředí PowerShell ISE. Funguje v konzole editoru Visual Studio Code.

HISTORIE PŘÍKAZŮ

PSReadLine udržuje soubor historie obsahující všechny příkazy a data, která jste zadali z příkazového řádku. Ta může obsahovat citlivá data včetně hesel. Pokud například použijete rutinu ConvertTo-SecureString , heslo se zaznamená do souboru historie jako prostý text. Soubory historie jsou soubory s názvem $($host.Name)_history.txt. V systémech Windows je soubor historie uložen v $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine.

ZPĚTNÁ VAZBA & PŘISPÍVÁNÍ DO PSReadLine

PSReadLine na GitHubu

Nebojte se odeslat žádost o přijetí změn nebo odeslat zpětnou vazbu na stránce GitHubu.

VIZ TAKÉ

PSReadLine je silně ovlivněn gnu readline knihovnou.