Sdílet prostřednictvím


Import-IseSnippet

Importuje fragmenty ise do aktuální relace.

Syntaxe

FromFolder (Výchozí)

Import-IseSnippet
    [-Path] <String>
    [-Recurse]
    [<CommonParameters>]

FromModule

Import-IseSnippet
    -Module <String>
    [-Recurse]
    [-ListAvailable]
    [<CommonParameters>]

Description

Rutina Import-IseSnippet do aktuální relace importuje opakovaně použitelné textové fragmenty z modulu nebo adresáře. 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 Upravit prostředí Windows PowerShell kliknete na Spustit fragmenty kódu nebo stisknete Ctrl+J.

Importované fragmenty kódu jsou k dispozici pouze v aktuální relaci. Pokud chcete naimportovat fragmenty kódu do všech relací prostředí Windows PowerShell ISE, přidejte do profilu Prostředí Windows PowerShell příkaz Import-IseSnippet nebo zkopírujte soubory fragmentů kódu do adresáře místních fragmentů kódu $HOME\Documents\WindowsPowerShell\Snippets.

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 v adresáři <SnippetTitle>.Snippets.ps1xml vytvoří soubor $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 adresáře \\Server01\Public\Snippets do aktuální relace. Pomocí parametru Recurse získá fragmenty kódu 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ž FragmentModule modul 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 PSModulePath proměnné prostředí.

($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 s fragmenty kódu budou při importu modulu používat rutinu Import-IseSnippet 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 zadaný parametrem Module se do aktuální relace nenaimportuje, pokus o získání fragmentů kódu z modulu selže.

Tento parametr je platný pouze v případě, že se v příkazu použije parametr modulu.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

FromModule
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Module

Importuje fragmenty kódu ze zadaného modulu do aktuální relace. Zástupné znaky nejsou podporovány.

Tento parametr importuje fragmenty kódu ze souborů Snippet.ps1xml 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 ScriptsToProcess klíč manifestu modulu. Fragmenty kódu v modulu se neimportují automaticky s modulem, ale k jejich importu můžete použít příkaz Import-IseSnippet.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

FromModule
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Path

Určuje cestu k adresáři fragmentů kódu, ve kterém tato rutina importuje fragmenty kódu.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:True
DontShow:False

Sady parametrů

FromFolder
Position:1
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Recurse

Označuje, že tato rutina importuje fragmenty kódu ze všech podadresářů hodnoty Path parametru.

Vlastnosti parametru

Typ:SwitchParameter
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

None

Do tohoto cmdletu nemůžete předávat objekty.

Výstupy

None

Tento cmdlet nevrátí žádný výstup.

Poznámky

  • K získání importovaných fragmentů kódu nemůžete použít rutinu Get-IseSnippet. Get-IseSnippet získá pouze fragmenty kódu v adresáři $HOME\Documents\WindowsPowerShell\Snippets.

  • Import-IseSnippet používá statickou metodu LoadMicrosoft.PowerShell.Host.ISE.ISESnippetCollection objekty. 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 .ps1xml souborů. 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 vytvářet, získávat a importovat nepodepsané fragmenty kódu vytvořeného uživatelem, ale nemůžete je použít v relaci.

    Pokud chcete použít nepodepsané uživatelem vytvořené fragmenty kódu, které Import-IseSnippet rutina 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.