New-IseSnippet

创建 Windows PowerShell ISE 代码片段。

语法

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

说明

New-ISESnippet cmdlet 为 Windows PowerShell ISE 创建可重用的文本“代码片段”。 可以使用代码片段将文本添加到 Windows PowerShell ISE 中的“脚本”窗格或“命令”窗格。 此 cmdlet 仅在 Windows PowerShell ISE 中可用。

从 Windows PowerShell 3.0 开始,Windows PowerShell ISE 包括内置代码片段的集合。 借助 New-ISESnippet cmdlet,可以创建自己的代码片段以添加到内置集合。 可以查看、更改、添加、删除和共享代码段文件,并将其包含在 Windows PowerShell 模块中。 若要查看 Windows PowerShell ISE 中的代码片段,请在 “编辑”菜单中,选择 “开始代码段”,或按 ctrl +JCtrl。

New-ISESnippet cmdlet 使用指定的标题在 $HOME\Documents\WindowsPowerShell\Snippets 目录中创建 <Title>.Snippets.ps1xml 文件。 若要在正在创作的模块中包含代码段文件,请将代码段文件添加到模块目录的 Snippets 子目录中。

不能在执行策略 受限AllSigned的会话中使用用户创建的代码片段。

此 cmdlet 已在 Windows PowerShell 3.0 中引入。

示例

示例 1:创建 Comment-Based 帮助片段

New-IseSnippet -Title Comment-BasedHelp -Description "A template for comment-based help." -Text "<#
    .SYNOPSIS

    .DESCRIPTION
    .PARAMETER  <Parameter-Name>
    .INPUTS
    .OUTPUTS
    .EXAMPLE
    .LINK
#>"

此命令为 Windows PowerShell ISE 创建 Comment-BasedHelp 代码片段。 它在用户的 Snippets 目录中创建一个名为 Comment-BasedHelp.snippets.ps1xml 的文件 $HOME\Documents\WindowsPowerShell\Snippets

示例 2:创建必需代码段

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

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

此示例为 Windows PowerShell ISE 创建名为 必需 的代码片段。 第一个命令将代码段文本保存在 $M 变量中。 第二个命令使用 New-ISESnippet cmdlet 来创建代码片段。 该命令使用 Force 参数覆盖具有相同名称的上一个代码片段。

示例 3:将强制代码片段从文件夹复制到目标文件夹

Copy-Item "$HOME\Documents\WindowsPowerShell\Snippets\Mandatory.Snippets.ps1xml" -Destination "\\Server\Share"

此命令使用 Copy-Item cmdlet 从 New-ISESnippet 放置到 Server\Share 文件共享的文件夹复制 必需 代码片段。

参数

-Author

指定代码段的作者。 作者字段显示在代码片段文件中,但在 Windows PowerShell ISE 中单击代码段名称时,它不会显示。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CaretOffset

指定此 cmdlet 放置光标的代码段文本的字符。 输入表示光标位置的整数,其中“1”表示文本的第一个字符。 默认值 0 (零),将光标置于文本的第一个字符之前。 此参数不会缩进代码段文本。

类型:Int32
Position:Named
默认值:0
必需:False
接受管道输入:False
接受通配符:False

-Description

指定代码段的说明。 单击 Windows PowerShell ISE 中的代码片段名称时,将显示说明值。 此参数是必需的。

类型:String
Position:2
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Force

指示此 cmdlet 覆盖同名在同一位置的代码片段文件。 默认情况下,New-ISESnippet 不会覆盖文件。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Text

指定选择代码片段时添加的文本值。 单击 Windows PowerShell ISE 中的代码段名称时,将显示代码段文本。 此参数是必需的。

类型:String
Position:3
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Title

指定代码片段的标题或名称。 游戏还会命名代码片段文件。 此参数是必需的。

类型:String
Position:1
默认值:None
必需:True
接受管道输入:False
接受通配符:False

输入

None

不能通过管道将对象传递给此 cmdlet。

输出

None

此 cmdlet 不返回任何输出。

备注

New-IseSnippet 将新用户创建的代码片段存储在未签名的 .ps1xml 文件中。 因此,Windows PowerShell 无法将其添加到执行策略 AllSigned受限的会话。 在 受限AllSigned 会话中,可以创建、获取和导入未签名的用户创建的代码片段,但不能在会话中使用它们。

如果在 受限AllSigned 会话中使用 New-IseSnippet cmdlet,则会创建该代码段,但在 Windows PowerShell 尝试将新创建的代码段添加到会话时会显示错误消息。 若要使用新代码片段(以及其他未签名的用户创建的代码段),请更改执行策略,然后重启 Windows PowerShell ISE。

有关 Windows PowerShell 执行策略的详细信息,请参阅 about_Execution_Policies

  • 若要更改代码段,请编辑代码段文件。 可以在 Windows PowerShell ISE 的“脚本”窗格中编辑代码段文件。
  • 若要删除添加的代码段,请删除代码段文件。
  • 不能删除内置代码段,但可以使用“$psise隐藏所有内置代码段。Options.ShowDefaultSnippets=$false“命令。
  • 可以创建与内置代码段同名的代码片段。 这两个代码片段都显示在 Windows PowerShell ISE 的代码片段菜单中。