Import-IseSnippet

将 ISE 代码片段导入当前会话

语法

FromFolder (默认值)

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

FromModule

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

说明

该 cmdlet 将 Import-IseSnippet 可重用的文本“代码段”从模块或目录导入到当前会话中。 这些代码片段立即可用于 Windows PowerShell ISE。 此 cmdlet 仅适用于 Windows PowerShell 集成脚本环境(ISE)。

若要查看和使用导入的代码段,请在 Windows PowerShell ISE 编辑 菜单中单击“ 开始代码段 ”或按 Ctrl+J

导入的代码段仅在当前会话中可用。 要将代码片段导入到所有 Windows PowerShell ISE 会话中,请将命令 Import-IseSnippet 添加到 Windows PowerShell 配置文件,或将代码段文件复制到本地代码段目录 $HOME\Documents\WindowsPowerShell\Snippets

若要导入代码段,必须在 Windows PowerShell ISE 代码片段的代码片段 XML 中正确设置这些代码段的格式,并将其保存在 Snippet.ps1xml 文件中。 若要创建符合条件的代码片段,请使用 New-IseSnippet cmdlet。 New-IseSnippet$HOME\Documents\WindowsPowerShell\Snippets目录中创建一个<SnippetTitle>.Snippets.ps1xml文件。 可以将代码片段移动或复制到 Windows PowerShell 模块的代码片段目录或任何其他目录。

cmdlet Get-IseSnippet (获取本地代码段目录中的用户创建的代码段)不会获取导入的代码片段。

此 cmdlet 已在 Windows PowerShell 3.0 中引入。

示例

示例 1:从目录导入代码片段

此示例将代码片段从 \\Server01\Public\Snippets 目录导入到当前会话中。 它使用 Recurse 参数从代码片段目录的所有子目录中获取代码片段。

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

示例 2:从模块导入代码片段

此示例从 SnippetModule 模块导入代码片段。 该命令使用 ListAvailable 参数导入代码片段,即使该命令运行时未将 SnippetModule 模块导入到用户的会话中。

Import-IseSnippet -Module SnippetModule -ListAvailable

示例 3:在模块中查找代码片段

此示例获取 PSModulePath 环境变量中所有已安装模块中的代码片段。

($Env:PSModulePath).Split(";") |
  ForEach-Object {dir $_\*\Snippets\*.Snippets.ps1xml -ErrorAction SilentlyContinue} |
    ForEach-Object {$_.FullName}

示例 4:导入所有模块代码片段

此示例将所有已安装模块中的所有代码片段导入到当前会话中。 通常,无需运行如下所示的命令,因为具有代码片段的模块会在导入模块时使用 Import-IseSnippet cmdlet 为你导入它们。

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

示例 5:复制所有模块代码片段

此示例将代码片段文件从所有已安装的模块复制到 Snippets 当前用户的目录中。 与仅影响当前会话的导入代码段不同,复制的代码段在每个 Windows PowerShell ISE 会话中都可用。

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

参数

-ListAvailable

指示此 cmdlet 从计算机上安装的模块获取代码片段,即使模块未导入到当前会话中也是如此。 如果省略此参数,并且 Module 参数指定的 模块未导入到当前会话中,则尝试从模块获取代码片段会失败。

仅当命令中使用 Module 参数时,此参数才有效。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

FromModule
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Module

将指定模块中的代码片段导入到当前会话中。 不支持通配符。

此参数从 Snippet.ps1xml 模块路径中的 Snippets 子目录中的文件导入代码片段,例如 $HOME\Documents\WindowsPowerShell\Modules\<ModuleName>\Snippets

此参数旨在供启动脚本中的模块作者使用,例如在模块清单的 ScriptsToProcess 中指定的脚本 键。 模块中的代码片段不会随模块自动导入,但可以使用 Import-IseSnippet 命令导入它们。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

FromModule
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Path

指定此 cmdlet 导入代码段的代码段目录的路径。

参数属性

类型:String
默认值:None
支持通配符:True
不显示:False

参数集

FromFolder
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Recurse

指示此 cmdlet 从 Path 参数值的所有子目录中导入代码片段。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

None

不能用管道将对象传送到此 cmdlet。

输出

None

此 cmdlet 不返回任何输出。

备注

  • 不能使用 Get-IseSnippet cmdlet 获取导入的代码片段。 Get-IseSnippet 仅获取目录中的代码 $HOME\Documents\WindowsPowerShell\Snippets 片段。

  • Import-IseSnippet使用 Microsoft.PowerShell.Host.ISE.ISE.ISESnippetCollection 对象的 Load 静态方法。 还可以在 Windows PowerShell ISE 对象模型中使用代码段的 Load 方法: $psISE.CurrentPowerShellTab.Snippets.Load()

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

    若要使用 Import-IseSnippet cmdlet 返回的未签名用户创建的代码片段,请更改执行策略,然后重启 Windows PowerShell ISE。

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