Compartilhar via


New-IseSnippet

Cria um snippet de código do ISE do Windows PowerShell.

Syntax

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

Description

O cmdlet New-ISESnippet cria um snippet de texto reutilizável para o ISE do Windows PowerShell. Você pode usar snippets para adicionar texto ao painel Script ou painel Comando no ISE do Windows PowerShell. Este cmdlet está disponível apenas no ISE do Windows PowerShell.

A partir do Windows PowerShell 3.0, o ISE do Windows PowerShell inclui uma coleção de snippets internos. O cmdlet New-ISESnippet permite que você crie seus próprios snippets para adicionar à coleção interna. Você pode exibir, alterar, adicionar, excluir e compartilhar arquivos de snippet e incluí-los em módulos do Windows PowerShell. Para ver snippets no ISE Windows PowerShell, no menu Editar, selecione Iniciar Snippets ou pressione CTRL+J.

O cmdlet New-ISESnippet cria um <Título>. Arquivo Snippets.ps1xml no diretório $home\Documents\WindowsPowerShell\Snippets com o título especificado. Para incluir um arquivo de snippet em um módulo que você está criando, adicione o arquivo de snippet a um subdiretório Snippets do seu diretório do módulo.

Você não pode usar snippets criados pelo usuário em uma sessão na qual a política de execução é Restrita ou AllSigned.

Este cmdlet foi introduzido no Windows PowerShell 3.0.

Exemplos

Exemplo 1: Create um snippet de 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
#>"

Este comando cria um snippet Comment-BasedHelp para o ISE do Windows PowerShell. Ele cria um arquivo chamado "Comment-BasedHelp.snippets.ps1xml" no diretório Snippets do usuário ($home\Documents\WindowsPowerShell\Snippets).

Exemplo 2: Create um snippet obrigatório

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

Este exemplo cria um snippet obrigatório para Windows PowerShell ISE. O primeiro comando salva o texto do snippet na variável $M. O segundo comando usa o cmdlet New-ISESnippet para criar o snippet. O comando usa o parâmetro Force para substituir um snippet anterior com o mesmo nome.

Exemplo 3: copiar um snippet obrigatório de uma pasta para uma pasta de destino

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

Esse comando usa o cmdlet Copy-Item para copiar o snippet obrigatório da pasta em que New-ISESnippet o coloca no compartilhamento de arquivos Server\Share.

Como os arquivos Snippets.ps1xml que New-ISESnippet cria são arquivos de texto (XML), você pode usar os cmdlets item para obter, alterar, mover, renomear e copiá-los.

Parâmetros

-Author

Especifica o autor do snippet. O campo autor aparece no arquivo de snippet, mas ele não aparece quando você clica no nome do snippet no ISE do Windows PowerShell.

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

-CaretOffset

Especifica o caractere do texto do snippet no qual esse cmdlet coloca o cursor. Insira um número inteiro que representa a posição do cursor, com "1" representando o primeiro caractere de texto. O valor padrão, 0 (zero), posiciona o cursor imediatamente antes do primeiro caractere de texto. Este parâmetro não recua o texto do snippet.

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

-Description

Especifica uma descrição do snippet. O valor de descrição é exibido quando você clica no nome do snippet no ISE do Windows PowerShell. Este parâmetro é necessário.

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

-Force

Indica que esse cmdlet substitui arquivos de snippet com o mesmo nome no mesmo local. Por padrão, New-ISESnippet não substitui nenhum arquivo.

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

-Text

Especifica o valor de texto que é adicionado quando você seleciona o snippet. O texto do snippet é exibido quando você clica no nome desse snippet, no ISE do Windows PowerShell. Este parâmetro é necessário.

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

-Title

Especifica um título ou nome para o snippet. O título também nomeia o arquivo de snippet. Este parâmetro é necessário.

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

Entradas

None

Este cmdlet não recebe entrada do pipeline.

Saídas

None

Este cmdlet não gera saída.

Observações

  • New-IseSnippet armazena novos snippets criados pelo usuário em arquivos .ps1xml sem sinal. Desse modo, o Windows PowerShell não pode adicioná-los a uma sessão em que a diretiva de execução é AllSigned ou Restricted. Em uma sessão Restricted ou AllSigned, você pode criar, obter e importar snippets criados pelo usuário não assinados, mas não pode usá-los na sessão.

Se você usar o cmdlet New-IseSnippet em uma sessão Restrita ou AllSigned, o snippet será criado, mas uma mensagem de erro será exibida quando Windows PowerShell tentar adicionar o snippet recém-criado à sessão. Para usar o novo snippet (e outros snippets não assinados criados pelo usuário), altere a diretiva de execução e, em seguida, reinicie o ISE do Windows PowerShell.

Para obter mais informações sobre as diretivas de execução do Windows PowerShell, consulte about_Execution_Policies.

  • Para alterar um snippet, edite o arquivo de snippet. Você pode editar arquivos de snippet no painel Script de Windows PowerShell ISE.

  • Para excluir um snippet que você adicionou, exclua o arquivo de snippet.

  • Você não pode excluir um snippet interno, mas pode ocultar todos os snippets internos usando o "$psise. Comando Options.ShowDefaultSnippets=$false".

  • Você pode criar um snippet que tenha o mesmo nome que um snippet interno. Os dois snippets aparecem no menu de snippet, no ISE do Windows PowerShell.