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。