Import-IseSnippet
Importuje fragmenty kodu ISE do bieżącej sesji
Składnia
FromFolder (Domyślna)
Import-IseSnippet
[-Path] <String>
[-Recurse]
[<CommonParameters>]
FromModule
Import-IseSnippet
-Module <String>
[-Recurse]
[-ListAvailable]
[<CommonParameters>]
Opis
Polecenie cmdlet Import-IseSnippet importuje tekst wielokrotnego użytku "fragmenty kodu" 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 edytuj środowiska Windows PowerShell kliknij pozycję Uruchom fragmenty kodu lub naciśnij 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 polecenie Import-IseSnippet do profilu programu Windows PowerShell lub skopiuj pliki fragmentu kodu do lokalnego katalogu fragmentów kodu $HOME\Documents\WindowsPowerShell\Snippets.
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 polecenia cmdlet New-IseSnippet.
New-IseSnippet tworzy plik <SnippetTitle>.Snippets.ps1xml w katalogu $HOME\Documents\WindowsPowerShell\Snippets. Możesz przenieść lub skopiować fragmenty kodu do katalogu fragmentów kodu modułu programu Windows PowerShell lub do dowolnego innego katalogu.
Polecenie cmdlet Get-IseSnippet, które pobiera fragmenty kodu utworzonego przez użytkownika w lokalnym katalogu fragmentów kodu, nie pobiera zaimportowanych fragmentów kodu.
To cmdlet zostało wprowadzone w Windows PowerShell 3.0.
Przykłady
Przykład 1. Importowanie fragmentów kodu z katalogu
W tym przykładzie zaimportowane fragmenty kodu z katalogu \\Server01\Public\Snippets do bieżącej sesji. Używa on parametru Recurse w celu pobrania 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 importuje fragmenty kodu z modułu SnippetModule. Polecenie używa parametru ListAvailable, aby zaimportować fragmenty kodu, nawet jeśli moduł SnippetModule nie jest importowany do sesji użytkownika podczas uruchamiania 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ć polecenia cmdlet Import-IseSnippet do zaimportowania 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 katalogu Snippets 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
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
FromModule
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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 plików Snippet.ps1xml 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 skrycie uruchamiania, na przykład skrypt określony w ScriptsToProcess klucz manifestu modułu. Fragmenty kodu w module nie są importowane automatycznie przy użyciu modułu, ale można zaimportować je za pomocą polecenia Import-IseSnippet.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
FromModule
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Path
Określa ścieżkę do katalogu fragmentów kodu, w którym to polecenie cmdlet importuje fragmenty kodu.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
FromFolder
| Position: | 1 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Recurse
Wskazuje, że to polecenie cmdlet importuje fragmenty kodu ze wszystkich podkatalogów wartości parametru Path.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
None
Nie można przekazywać obiektów do tego cmdletu.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
Nie można użyć polecenia cmdlet
Get-IseSnippet, aby pobrać zaimportowane fragmenty kodu.Get-IseSnippetpobiera tylko fragmenty kodu w katalogu$HOME\Documents\WindowsPowerShell\Snippets.Import-IseSnippetużywa metody statycznej LoadMicrosoft.PowerShell.Host.ISE.ISESnippetCollection obiektów. Możesz również użyć metody Load fragmentów kodu w modelu obiektów ISE programu Windows PowerShell:$psISE.CurrentPowerShellTab.Snippets.Load()Polecenie cmdlet
New-IseSnippetprzechowuje nowe fragmenty kodu utworzone 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 są AllSigned lub z ograniczeniami. 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 utworzonego przez użytkownika zwróconych przez polecenie cmdlet
Import-IseSnippet, 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.