Import-IseSnippet
Importuje fragmenty ise do aktuální relace.
Syntaxe
Import-IseSnippet
[-Path] <String>
[-Recurse]
[<CommonParameters>]
Import-IseSnippet
[-Recurse]
-Module <String>
[-ListAvailable]
[<CommonParameters>]
Description
Rutina Import-IseSnippet
importuje opakovaně použitelný text "fragmenty" z modulu nebo adresáře do aktuální relace. Fragmenty kódu jsou okamžitě dostupné pro použití v prostředí Windows PowerShell ISE. Tato rutina funguje jenom v integrovaném skriptovacím prostředí Windows PowerShellu (ISE).
Importované fragmenty kódu zobrazíte a použijete tak, že v nabídce Úpravy prostředí Windows PowerShell ISE kliknete na Start Snippets nebo stisknete ctrl+J.
Importované fragmenty kódu jsou k dispozici pouze v aktuální relaci. Pokud chcete importovat fragmenty kódu do všech relací prostředí Windows PowerShell ISE, přidejte Import-IseSnippet
do profilu Prostředí Windows PowerShell příkaz nebo zkopírujte soubory fragmentů do místního adresáře $HOME\Documents\WindowsPowershell\Snippets
fragmentů kódu .
Aby bylo možné importovat fragmenty kódu, musí být správně naformátované ve formátu XML fragmentu kódu pro fragmenty ise windows PowerShellu a uloženy v souborech Snippet.ps1xml. K vytvoření oprávněných fragmentů kódu použijte rutinu New-IseSnippet
. New-IseSnippet
vytvoří <SnippetTitle>.Snippets.ps1xml
soubor v adresáři $HOME\Documents\WindowsPowerShell\Snippets
. Fragmenty kódu můžete přesunout nebo zkopírovat do adresáře Fragmenty kódu modulu Windows PowerShellu nebo do jakéhokoli jiného adresáře.
Rutina Get-IseSnippet
, která získá fragmenty kódu vytvořené uživatelem v adresáři místních fragmentů kódu, nezískal importované fragmenty kódu.
Tato rutina byla zavedena ve Windows PowerShellu 3.0.
Příklady
Příklad 1: Import fragmentů kódu z adresáře
Tento příklad naimportuje fragmenty kódu z \\Server01\Public\Snippets
adresáře do aktuální relace. Používá parametr Recurse k získání fragmentů ze všech podadresářů adresáře Fragments.
Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse
Příklad 2: Import fragmentů kódu z modulu
Tento příklad naimportuje fragmenty kódu z modulu SnippetModule . Příkaz používá parametr ListAvailable k importu fragmentů kódu, i když modul SnippetModule není importován do relace uživatele při spuštění příkazu.
Import-IseSnippet -Module SnippetModule -ListAvailable
Příklad 3: Vyhledání fragmentů v modulech
Tento příklad získá fragmenty kódu ve všech nainstalovaných modulech v proměnné prostředí PSModulePath .
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$_.fullname}
Příklad 4: Import všech fragmentů kódu modulu
Tento příklad naimportuje všechny fragmenty kódu ze všech nainstalovaných modulů do aktuální relace. Obvykle nemusíte spouštět podobný příkaz, protože moduly, které obsahují fragmenty kódu, po importu Import-IseSnippet
modulu po importu modulu použijí rutinu k jejich importu.
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
ForEach-Object {$psise.CurrentPowerShellTab.Snippets.Load($_)}
Příklad 5: Kopírování všech fragmentů kódu modulu
Tento příklad zkopíruje soubory fragmentu kódu ze všech nainstalovaných modulů do Snippets
adresáře aktuálního uživatele. Na rozdíl od importovaných fragmentů kódu, které ovlivňují pouze aktuální relaci, jsou zkopírované fragmenty kódu dostupné v každé relaci prostředí Windows PowerShell ISE.
($env:PSModulePath).split(";") |
ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
Copy-Item -Destination $HOME\Documents\WindowsPowerShell\Snippets
Parametry
-ListAvailable
Označuje, že tato rutina získá fragmenty z modulů nainstalovaných v počítači, i když moduly nejsou importovány do aktuální relace. Pokud tento parametr vynecháte a modul určený parametrem Module se do aktuální relace neimportuje, pokus o získání fragmentů z modulu selže.
Tento parametr je platný pouze v případě, že se v příkazu použije parametr Modulu .
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Module
Importuje fragmenty kódu ze zadaného modulu do aktuální relace. Zástupné znaky nejsou podporovány.
Tento parametr importuje fragmenty ze Snippet.ps1xml
souborů v podadresáři Fragmenty v cestě modulu, například $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets
.
Tento parametr je navržený tak, aby ho autoři modulů používali ve spouštěcím skriptu, například skript zadaný v klíči ScriptsToProcess manifestu modulu. Fragmenty kódu v modulu se neimportují automaticky s modulem, ale k jejich importu můžete použít Import-IseSnippet
příkaz.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Path
Určuje cestu k adresáři fragmentů kódu, ve kterém tato rutina importuje fragmenty kódu.
Typ: | String |
Position: | 1 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-Recurse
Označuje, že tato rutina importuje fragmenty kódu ze všech podadresářů hodnoty parametru Path .
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
None
Do této rutiny nemůžete roušit objekty.
Výstupy
None
Tato rutina nevrátí žádný výstup.
Poznámky
Rutinu
Get-IseSnippet
nelze použít k získání importovaných fragmentů kódu.Get-IseSnippet
získá pouze fragmenty kódu v adresáři$HOME\Documents\WindowsPowerShell\Snippets
.Import-IseSnippet
používá statickou metodu Load Microsoft.PowerShell.Host.ISE.ISESnippetCollection objektů. Můžete také použít metodu Load fragmentů kódu v objektovém modelu prostředí Windows PowerShell ISE:$psISE.CurrentPowerShellTab.Snippets.Load()
Rutina
New-IseSnippet
ukládá nové fragmenty kódu vytvořené uživatelem do nepodepsaných souborů .ps1xml. Prostředí Windows PowerShell je proto nemůže načíst do relace, ve které jsou zásady spouštění AllSigned nebo Restricted. V relaci Restricted nebo AllSigned můžete vytvořit, získat a importovat nepodepsané fragmenty kódu vytvořené uživatelem, ale nemůžete je použít v relaci.Pokud chcete použít nepodepsané uživatelem vytvořené fragmenty kódu, které rutina
Import-IseSnippet
vrátí, změňte zásady spouštění a restartujte prostředí Windows PowerShell ISE.Další informace o zásadách spouštění prostředí Windows PowerShell najdete v tématu about_Execution_Policies.