Tabexpansion 函数无法解析变量
我正在尝试重写并实现我自己的 TabExpansion。在函数中,当某个 $lastword 标准匹配时,我想解析 $psise.CurrentFile.Editor.Text 的内容。我遇到的问题是变量 $psise.CurrentFile.Editor.Text 被解析为 TabExpansion 函数的内容,而不是 PowerShell ISE 选项卡中的任何文本。
这是简单的测试功能。打开 ISE 选项卡并粘贴以下 tabexpansion 函数定义:
function tabexpansion
{ $psise.CurrentFile.Editor.Text }
在 ISE 中运行脚本。接下来在 ISE 中打开另一个选项卡,输入一些文本并按 Tab 键 输出将是
function tabexpansion
{ $psise.CurrentFile.Editor.Text }
而不是第二个选项卡中的任何文本。在 tabexpansion 函数中使用时,有什么方法可以让 $psise.CurrentFile.Editor.Text 在运行时解析?
I'm attempting to override and implement my own TabExpansion. In the function I want to parse the contents of $psise.CurrentFile.Editor.Text when a certain $lastword criteria is matched. The issue I have is that the variable $psise.CurrentFile.Editor.Text is resolved to the contents of my TabExpansion function rather than whatever text is in a PowerShell ISE tab.
Here's simple test function. Open an ISE tab and paste the following tabexpansion function definition:
function tabexpansion
{ $psise.CurrentFile.Editor.Text }
Run the script in ISE. Next open another tab in ISE type some text and press the tab key
The output will be
function tabexpansion
{ $psise.CurrentFile.Editor.Text }
Rather than whatever text was in the second tab. Is there any way to get $psise.CurrentFile.Editor.Text to resolve at runtime when used within a tabexpansion function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如评论中指出的,这似乎是 PowerShell ISE 中的错误。 Microsoft Connect 项目已归档。
As noted in the comments, this appears to be bug in PowerShell ISE. A Microsoft Connect item has been filed.