Condividi tramite


New-IseSnippet

Crea un frammento di codice di Windows PowerShell ISE.

Sintassi

New-IseSnippet
   [-Title] <String>
   [-Description] <String>
   [-Text] <String>
   [-Author <String>]
   [-CaretOffset <Int32>]
   [-Force]
   [<CommonParameters>]

Descrizione

Il cmdlet New-ISESnippet crea un frammento di codice di testo riutilizzabile per Windows PowerShell ISE. È possibile usare i frammenti di codice per aggiungere testo al riquadro di script o di comandi in Windows PowerShell ISE. Questo cmdlet è disponibile solo in Windows PowerShell ISE.

A partire da Windows PowerShell 3.0, Windows PowerShell ISE include una raccolta di frammenti di codice predefiniti. Il cmdlet New-ISESnippet consente di creare frammenti di codice personalizzati da aggiungere alla raccolta predefinita. È possibile visualizzare, cambiare, aggiungere, eliminare e condividere i file di frammenti di codice, nonché includerli in moduli di Windows PowerShell. Per visualizzare i frammenti di codice in Windows PowerShell ISE, scegliere Avvia frammenti dal menu Modifica oppure premere CTRL+J.

Il cmdlet New-ISESnippet crea un <titolo>. File Snippets.ps1xml nella directory $home\Documents\WindowsPowerShell\Snippets con il titolo specificato. Per includere un file di frammenti di codice in un modulo da creare, aggiungerlo in una sottodirectory Snippets della directory del modulo.

Non è possibile usare frammenti di codice creati dall'utente in una sessione in cui il criterio di esecuzione è limitato o AllSigned.

Questo cmdlet è stato introdotto in Windows PowerShell 3.0.

Esempio

Esempio 1: Create un frammento di codice di Comment-BasedHelp

PS C:\> New-IseSnippet -Title Comment-BasedHelp -Description "A template for comment-based help." -Text "<#
    .SYNOPSIS
    .DESCRIPTION
    .PARAMETER  <Parameter-Name>
    .INPUTS
    .OUTPUTS
    .EXAMPLE
    .LINK
#>"

Questo comando crea un frammento di codice Comment-BasedHelp per Windows PowerShell ISE. Crea un file denominato "Comment-BasedHelp.snippets.ps1xml" nella directory Snippets dell'utente ($home\Documents\WindowsPowerShell\Snippets).

Esempio 2: Create un frammento obbligatorio

PS C:\> $M = @'
Param
(
  [parameter(Mandatory=$true)]
  [String[]]
  $<ParameterName>
)
'@

PS C:\> New-ISESnippet -Text $M -Title Mandatory -Description "Adds a mandatory function parameter." -Author "Patti Fuller, Fabrikam Corp." -Force

In questo esempio viene creato un frammento obbligatorio per Windows PowerShell ISE. Il primo comando salva il testo del frammento nella variabile $M. Il secondo comando usa il cmdlet New-ISESnippet per creare il frammento di codice. Usa il parametro Force per sovrascrivere un frammento di codice precedente con lo stesso nome.

Esempio 3: Copiare un frammento obbligatorio da una cartella a una cartella di destinazione

PS C:\> Copy-Item "$Home\Documents\WindowsPowerShell\Snippets\Mandatory.Snippets.ps1xml" -Destination "\\Server\Share"

Questo comando usa il cmdlet Copy-Item per copiare il frammento obbligatorio dalla cartella in cui New-ISESnippet lo inserisce nella condivisione file Server\Share.

Poiché i file Snippets.ps1xml creati da New-ISESnippet sono file di testo (XML), è possibile usare i cmdlet Item per ottenere, modificare, spostare, rinominare e copiarli.

Parametri

-Author

Specifica l'autore del frammento di codice. Il campo dell'autore viene visualizzato nel file del frammento di codice, ma non compare quando si fa clic sul nome del frammento di codice in Windows PowerShell ISE.

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

-CaretOffset

Specifica il carattere del testo del frammento di codice su cui il cmdlet posiziona il cursore. Immettere un intero che rappresenta la posizione del cursore, con "1" che corrisponde al primo carattere di testo. Il valore predefinito, 0 (zero), posiziona il cursore immediatamente prima del primo carattere di testo. Questo parametro non applica un rientro al testo del frammento di codice.

Type:Int32
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Specifica una descrizione del frammento di codice. Il valore della descrizione viene visualizzato quando si fa clic sul nome del frammento di codice in Windows PowerShell ISE. Questo parametro è obbligatorio.

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

-Force

Indica che questo cmdlet sovrascrive i file di frammento con lo stesso nome nella stessa posizione. Per impostazione predefinita, New-ISESnippet non sovrascrive i file.

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

-Text

Specifica il valore di testo che viene aggiunto quando si seleziona il frammento di codice. Il testo viene visualizzato quando si fa clic sul nome del frammento di codice in Windows PowerShell ISE. Questo parametro è obbligatorio.

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

-Title

Specifica un titolo o un nome per il frammento di codice. Il titolo corrisponde anche al nome del file del frammento di codice. Questo parametro è obbligatorio.

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

Input

None

Questo cmdlet non accetta input dalla pipeline.

Output

None

Questo cmdlet non genera alcun output.

Note

  • New-IseSnippet archivia i nuovi frammenti creati dall'utente in file con estensione ps1xml non firmati. Di conseguenza, Windows PowerShell non li può aggiungere in una sessione in cui i criteri di esecuzione sono AllSigned o Restricted. In una sessione Restricted o AllSigned è possibile creare, ottenere e importare frammenti di codice non firmati creati dall'utente, ma non è possibile usarli.

Se si usa il cmdlet New-IseSnippet in una sessione con restrizioni o AllSigned, il frammento di codice viene creato, ma viene visualizzato un messaggio di errore quando Windows PowerShell tenta di aggiungere il frammento di codice appena creato alla sessione. Per usare il nuovo frammento di codice (e altri non firmati creati dall'utente), cambiare i criteri di esecuzione e quindi riavviare Windows PowerShell ISE.

Per altre informazioni sui criteri di esecuzione di Windows PowerShell, vedere about_Execution_Policies.

  • Per modificare un frammento di codice, modificare il file del frammento di codice. È possibile modificare i file di frammento di codice nel riquadro Script di Windows PowerShell ISE.

  • Per eliminare un frammento di codice aggiunto, eliminare il file del frammento di codice.

  • Non è possibile eliminare un frammento predefinito, ma è possibile nascondere tutti i frammenti predefiniti usando "$psise. Comando Options.ShowDefaultSnippets=$false".

  • È possibile creare un frammento con lo stesso nome di un frammento predefinito. Entrambi i frammenti di codice verranno visualizzati nel menu corrispondente di Windows PowerShell ISE.