Tabexpansion 函数无法解析变量

发布于 2024-08-28 14:36:14 字数 566 浏览 4 评论 0原文

我正在尝试重写并实现我自己的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

娇妻 2024-09-04 14:36:14

正如评论中指出的,这似乎是 PowerShell ISE 中的错误。 Microsoft Connect 项目已归档。

As noted in the comments, this appears to be bug in PowerShell ISE. A Microsoft Connect item has been filed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文