Import-IseSnippet

Importuje fragmenty kodu ISE do bieżącej sesji

Składnia

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

Opis

Polecenie Import-IseSnippet cmdlet importuje tekst wielokrotnego użytku "fragmenty" z modułu lub katalogu do bieżącej sesji. Fragmenty kodu są natychmiast dostępne do użycia w środowisku Windows PowerShell ISE. To polecenie cmdlet działa tylko w środowisku Windows PowerShell Integrated Scripting Environment (ISE).

Aby wyświetlić i użyć zaimportowanych fragmentów kodu, w menu Edycja środowiska Windows PowerShell ISE kliknij przycisk Start Fragmenty kodu lub naciśnij klawisze Ctrl+J.

Zaimportowane fragmenty kodu są dostępne tylko w bieżącej sesji. Aby zaimportować fragmenty kodu do wszystkich sesji środowiska WINDOWS PowerShell ISE, dodaj Import-IseSnippet polecenie do profilu programu Windows PowerShell lub skopiuj pliki fragmentów kodu do lokalnego katalogu $HOME\Documents\WindowsPowershell\Snippetsfragmentów kodu .

Aby zaimportować fragmenty kodu, muszą one być poprawnie sformatowane w pliku XML fragmentu kodu dla fragmentów kodu programu Windows PowerShell ISE i zapisane w plikach Snippet.ps1xml. Aby utworzyć kwalifikujące się fragmenty kodu, użyj New-IseSnippet polecenia cmdlet . New-IseSnippet tworzy <SnippetTitle>.Snippets.ps1xml plik w $HOME\Documents\WindowsPowerShell\Snippets katalogu. Możesz przenieść lub skopiować fragmenty kodu do katalogu fragmentów kodu modułu programu Windows PowerShell lub do dowolnego innego katalogu.

Polecenie Get-IseSnippet cmdlet, które pobiera fragmenty kodu utworzonego przez użytkownika w lokalnym katalogu fragmentów kodu, nie pobiera zaimportowanych fragmentów kodu.

To polecenie cmdlet zostało wprowadzone w programie Windows PowerShell 3.0.

Przykłady

Przykład 1. Importowanie fragmentów kodu z katalogu

W tym przykładzie \\Server01\Public\Snippets zaimportowane fragmenty kodu z katalogu do bieżącej sesji. Używa parametru Recurse do pobierania fragmentów kodu ze wszystkich podkatalogów katalogu fragmentów kodu.

Import-IseSnippet -Path \\Server01\Public\Snippets -Recurse

Przykład 2. Importowanie fragmentów kodu z modułu

W tym przykładzie zaimportowane są fragmenty kodu z modułu SnippetModule . Polecenie używa parametru ListAvailable , aby zaimportować fragmenty kodu, nawet jeśli moduł SnippetModule nie zostanie zaimportowany do sesji użytkownika po uruchomieniu polecenia.

Import-IseSnippet -Module SnippetModule -ListAvailable

Przykład 3. Znajdowanie fragmentów kodu w modułach

Ten przykład pobiera fragmenty kodu we wszystkich zainstalowanych modułach w zmiennej środowiskowej PSModulePath .

($env:PSModulePath).split(";") |
  ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
    ForEach-Object {$_.fullname}

Przykład 4. Importowanie wszystkich fragmentów modułu

W tym przykładzie wszystkie fragmenty kodu są importowane ze wszystkich zainstalowanych modułów do bieżącej sesji. Zazwyczaj nie trzeba uruchamiać polecenia w następujący sposób, ponieważ moduły z fragmentami kodu będą używać Import-IseSnippet polecenia cmdlet do importowania ich podczas importowania modułu.

($env:PSModulePath).split(";") |
  ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
    ForEach-Object {$psise.CurrentPowerShellTab.Snippets.Load($_)}

Przykład 5. Kopiowanie wszystkich fragmentów modułu

W tym przykładzie pliki fragmentu kodu są kopiowane ze wszystkich zainstalowanych modułów do Snippets katalogu bieżącego użytkownika. W przeciwieństwie do zaimportowanych fragmentów kodu, które mają wpływ tylko na bieżącą sesję, skopiowane fragmenty kodu są dostępne w każdej sesji środowiska WINDOWS PowerShell ISE.

($env:PSModulePath).split(";") |
  ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
    Copy-Item -Destination $HOME\Documents\WindowsPowerShell\Snippets

Parametry

-ListAvailable

Wskazuje, że to polecenie cmdlet pobiera fragmenty kodu z modułów zainstalowanych na komputerze, nawet jeśli moduły nie są importowane do bieżącej sesji. Jeśli ten parametr zostanie pominięty, a moduł określony przez parametr Module nie zostanie zaimportowany do bieżącej sesji, próba pobrania fragmentów kodu z modułu zakończy się niepowodzeniem.

Ten parametr jest prawidłowy tylko wtedy, gdy parametr modułu jest używany w poleceniu .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Module

Importuje fragmenty kodu z określonego modułu do bieżącej sesji. Symbole wieloznaczne nie są obsługiwane.

Ten parametr importuje fragmenty kodu z Snippet.ps1xml plików w podkatalogu Fragmenty kodu w ścieżce modułu, na przykład $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets.

Ten parametr jest przeznaczony do użycia przez autorów modułów w skrygcie uruchamiania, na przykład skrypt określony w kluczu ScriptsToProcess manifestu modułu. Fragmenty kodu w module nie są importowane automatycznie z modułem, ale można użyć Import-IseSnippet polecenia do ich zaimportowania.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Path

Określa ścieżkę do katalogu fragmentów kodu, w którym to polecenie cmdlet importuje fragmenty kodu.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Recurse

Wskazuje, że to polecenie cmdlet importuje fragmenty kodu ze wszystkich podkatalogów wartości parametru Path .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

None

To polecenie cmdlet nie zwraca żadnych danych wyjściowych.

Uwagi

  • Nie można użyć Get-IseSnippet polecenia cmdlet , aby pobrać zaimportowane fragmenty kodu. Get-IseSnippet Pobiera tylko fragmenty kodu w $HOME\Documents\WindowsPowerShell\Snippets katalogu.

  • Import-IseSnippetużywa metody statycznej Load obiektów Microsoft.PowerShell.Host.ISE.ISESnippetCollection. Możesz również użyć metody Load fragmentów kodu w modelu obiektów ISE programu Windows PowerShell: $psISE.CurrentPowerShellTab.Snippets.Load()

  • Polecenie New-IseSnippet cmdlet przechowuje nowe fragmenty kodu utworzonego przez użytkownika w niepodpisanych plikach ps1xml. W związku z tym program Windows PowerShell nie może załadować ich do sesji, w której zasady wykonywania to AllSigned lub Restricted. W sesji z ograniczeniami lub AllSigned można tworzyć, pobierać i importować niepodpisane fragmenty kodu utworzone przez użytkownika, ale nie można ich używać w sesji.

    Aby użyć niepodpisanych fragmentów kodu utworzonych przez użytkownika zwracanych Import-IseSnippet przez polecenie cmdlet, zmień zasady wykonywania, a następnie uruchom ponownie środowisko Windows PowerShell ISE.

    Aby uzyskać więcej informacji na temat zasad wykonywania programu Windows PowerShell, zobacz about_Execution_Policies.