显示如何在Windows PowerShell 3.0中覆盖TabExpansion2的示例
有没有人有一个示例显示如何覆盖
Windows PowerShell 3.0中的TabExpansion2功能?我知道如何覆盖旧的TabExpansion功能,但是我想在PowerShell ISE中提供智能感知的项目列表.我查看了TabExpansion2的定义,并且不容易理解,我如何在标签扩展过程中注入自己的代码.
我认为这个例子应该给你一个很好的起点:
Windows Powershell Cookbook: Sample implementation of TabExpansion2.示例代码显示可以在默认调用之前和之后添加代码[CommandCompletion] :: CompleteInput.
例如,您可以向$options hashtable添加一个名为CustomArgumentCompleters的条目,以获取命令参数的自定义完成.条目应该是一个哈希表,其中键是参数名称(例如“ComputerName”或“Get-ChildItem:Filter”),并且值是可用于完成该参数的值数组. Powertheshell.com还有一篇文章:Dynamic Argument Completion.您还可以使用NativeArgumentCompleters选项指定本机可执行文件的自定义完成(同样,键是命令名称,值是可能的完成数组). OnceCompleteInput已返回,您可以将结果存储在$result中进行进一步分析.结果是 $result.CompletionMatches.Add( (New-Object Management.Automation.CompletionResult "my completion string") ) 不要忘记从函数返回$result,所以完成实际发生. 最后,有关故障排除的说明:调用TabCompletion2的代码似乎会抑制所有基于控制台的输出(不出意外),因此,如果要为自己编写调试消息,可以尝试将它们写入单独的文本文件.例如,您可以将TabCopmletion2中的End函数更改为: $result = [System.Management.Automation.CommandCompletion]::CompleteInput( $inputScript,$cursorColumn,$options) $result | Get-Member | Add-Content "c:TabCompletionLog.txt" $result (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在Windows PowerShell中为web ui测试自动化选择下
- windows-server-2008 – 为什么在我抓住FSMO角色
- winapi – 是否可以捕获带有Windows 7 DWM缩略图
- 虚拟化 – 保持MS DOS应用程序活着的最佳方法?
- Windows Mobile:使用C#的手机摄像头
- 如何在Windows命令行上获取文件的最后修改日期?
- microsoft-graph – 图形API:PUT / beta / grou
- winapi – 使用Windows API检测所有连接的显示器
- windows-server-2008 – 使用Exchange 2010进行域
- 如何在Windows和Linux上使用相同的Python virtua