Megosztás a következőn keresztül:


A tabulátorkiegészítés használata a parancsértelmezőben

A PowerShell kiegészítéseket biztosít a bemenethez, hogy tippeket adjon, engedélyezze a felderítést, és felgyorsítsa a bemeneti bevitelt. A Parancsnevek , a paraméternevek, az argumentumértékek és a fájl elérési útjai a Tab billentyű lenyomásával végezhetők el.

A Tab kulcs a Windows alapértelmezett kulcskötése. A PSReadLine a MenuComplete+ billentyűkombinációhoz kötött függvényt is biztosít. A MenuComplete függvény a parancssor alatt megjeleníti az egyező befejezések listáját.

A kulcskötések PSReadLine-parancsmagokkal vagy a PowerShellt futtató alkalmazással módosíthatók. A kulcskötések eltérőek lehetnek nem Windows-platformokon. További információ: about_PSReadLine_Functions.

Beépített lapkiegészítési funkciók

A PowerShell a parancssori felület számos szempontjából lehetővé teszi a lapkiegészítést.

Fájlnév befejezése

Ha automatikusan ki szeretne tölteni egy fájlnevet vagy elérési utat az elérhető lehetőségek közül, írja be a név egy részét, és nyomja le a Tab billentyűt. A PowerShell automatikusan kiterjeszti a nevet az első megtalált találatra. A Tab billentyű ismételt lenyomásával minden billentyűlenyomásnál végig lehet lépkedni az összes rendelkezésre álló lehetőségen.

Parancs- és paraméternévkiegészítés

A parancsmagok neveinek tabbeli kibővítése kissé eltérő. Ha a parancsmag nevének fülbővítését szeretné használni, írja be a név teljes első részét (az igét) és az azt követő kötőjelet. A névből többet is kitölthet, hogy részleges egyezést érjen el. Ha például beírja get-co , majd lenyomja a Tab billentyűt, a PowerShell automatikusan kiterjeszti a beírt szöveget a Get-Command parancsmagra (figyelje meg, hogy a betűk kisbetűit a normál űrlapra is módosítja). Ha ismét lenyomja a Tab billentyűt, a PowerShell a következő egyező parancsmagra Get-Contentcseréli. A tabulátorkiegészítés a PowerShell-aliasok és a natív végrehajtható fájlok feloldására is használható.

Az alábbi ábrán tabulátor- és menükiegészítési példák láthatók.

Tabulátor- és menükiegészítési példák

Egyéb lapkiegészítési fejlesztések

A PowerShell minden új verziója olyan fejlesztéseket tartalmaz a lapkiegészítéshez, amelyek javítják a hibákat és javítják a használhatóságot.

PowerShell 7.0

  • A tabulátorkiegészítés feloldja az enumerált vagy korlátozott típusú változó-hozzárendeléseket
  • A tabulátorkizárás kibontja a rövidített parancsmagokat és függvényeket. Például a i-psdf<tab> értéke Import-PowerShellDataFile lesz

PowerShell 7.2

  • Nem lokalizált about* cikkek fülkiegészítésének javítása
  • A teljesítés során pozícióparaméterként kezelt splatting javítása
  • Kiegészítések hozzáadása megjegyzésalapú súgószavakhoz
  • Kiegészítések hozzáadása #Requires utasításokhoz
  • Lapkimenet hozzáadása parancsmagok View paraméteréhez Format-*
  • Az osztályalapú argumentum-kiegészítések támogatásának hozzáadása

PowerShell 7.3

  • Tab-kiegészítés javítása a megadott parancsblokkban ValidateScriptAttribute
  • "Cikluscímkékhez való lapkiegészítést adtunk hozzá a break és continue után"
  • A Hash-tábla implementációjának javítása több forgatókönyvben
    • Paraméter splatting
    • Argumentumparaméter a következőhöz: Invoke-CimMethod
    • FilterHashtable paraméter a következőhöz: Get-WinEvent
    • A CIM-parancsmagok tulajdonságparamétere
    • Ismétlődő elemek eltávolítása a tagkiegészítési forgatókönyvekből
  • Perjelek támogatása a hálózati megosztás (UNC-elérési út) automatikus kiegészítésében
  • Tagok automatikus kiegészítéseinek fejlesztése
  • Prioritálja a ValidateSet befejezéseket a paraméterek enumerálása helyett
  • Típuskövető támogatás hozzáadása általános metódusokhoz típusparaméterekkel
  • Típuskövetkeztetés és kiegészítések javítása
    • Lehetővé teszi, hogy a metódusok megjelenjenek a befejezési eredmények között: ForEach-Object -MemberName
    • Megakadályozza a befejezést olyan kifejezéseken, amelyek void értéket adnak vissza ([void]"")
    • Lehetővé teszi, hogy a nem alapértelmezett osztálykonstruktorok megjelenjenek, ha az osztály kiegészítése az AST-n alapul.

A parancsparaméterek fülkiegészítésének fejlesztésére szolgáló egyéb módok

A beépített tabulátorbővítést a TabExpansion vagy a TabExpansion2 belső függvény vezérli. Létrehozhat olyan függvényeket vagy modulokat, amelyek felülírják a függvények alapértelmezett viselkedését. A TabExpansion kulcsszó keresésével példákat találhat a PowerShell-gyűjteményben.

A ValidateSet vagy ArgumentCompletions attribútumok használata paraméterekkel

Az ArgumentCompletions attribútum lehetővé teszi lapkiegészítési értékek hozzáadását egy adott paraméterhez. Az ArgumentCompletions attribútum hasonló a következőhöz ValidateSet: . Mindkét attribútum a paraméter neve után Tab lenyomásakor megjelenítendő értékek listáját tartalmazza. Azonban, eltérően a ValidateSet-től, az értékeket nem érvényesítik.

További információkért lásd:

Az ArgumentCompleter attribútum használata vagy Register-ArgumentCompleter paraméterekkel

Az argumentum-befejező egy szkriptblokk vagy függvény, amely dinamikus lapkiegészítést biztosít a paraméterértékekhez.

Az ArgumentCompleter attribútum lehetővé teszi egy olyan függvény regisztrálását, amely lapkiegészítési értékeket biztosít a paraméterhez. Az argumentum-befejező függvénynek elérhetőnek kell lennie az attribútummal rendelkező paramétert tartalmazó függvény számára ArgumentCompleter . A függvény általában ugyanabban a szkriptben vagy modulban van definiálva. További információ: Argumentumkiegészítő.

A Register-ArgumentCompleter parancsmag futtatáskor argumentum-befejező függvényként regisztrál egy szkriptblokkot a megadott parancsokhoz. A Register-ArgumentCompleter használatával argumentum-kiegészítéseket definiálhat a szkripten vagy modulon kívül, vagy a beépített parancsok esetében. További információ: Register-ArgumentCompleter.

Az IntelliSense előrejelzése a PSReadLine-ban

A PSReadLine 2.1.0 bevezette a Prediktív IntelliSense funkciót. A prediktív IntelliSense a PSReadLine előzményei alapján nyújt javaslatokat a teljes parancsokhoz.

A PSReadLine 2.2.2 kibővíti a Prediktív IntelliSense teljesítményét azáltal, hogy támogatja a speciális logikát használó beépülő modulokat, hogy javaslatokat nyújtsanak a teljes parancsokhoz. Az Az.Tools.Predictor modul volt az első beépülő modul a Prediktív IntelliSense-hez. A Machine Learning használatával előrejelzi, hogy milyen Azure PowerShell-parancsot szeretne futtatni, és milyen paramétereket szeretne használni.

További információ: Prediktorok használata.