【问题标题】:VS Code PowerShell keeps opening cmdlet external help unexpectedlyVS Code PowerShell 不断打开 cmdlet 外部帮助
【发布时间】:2020-11-22 18:32:00
【问题描述】:

我在 VS Code 中遇到了一个非常奇怪的问题。在编写 PowerShell 时,通常在键入 cmdlet 名称的过程中,VS Code 会在我的浏览器中打开 cmdlet 的帮助页面,从 VS Code 中窃取焦点并将其放在我的浏览器中。当我将鼠标悬停在 cmdlet 上(未单击任何按钮)时,这也经常发生。

我尝试过的事情:

  • 重置所有自定义键绑定和设置。问题仍然存在,所以我认为这些没有错。
  • 禁用所有扩展。这解决了这个问题,但是由于 PowerShell 扩展被禁用,我当然会失去智能感知和诸如此类的东西。
  • 禁用除 PowerShell 扩展之外的所有扩展。然后问题再次出现。
  • 安装 PowerShell Preview 扩展并禁用除它之外的所有扩展。问题仍然存在。
  • 启动一个新的 Windows Sandbox 并在其中安装 VS Code,然后打开 VS Code Settings Sync 并让它拉下我所有相同的扩展、设置、键绑定等。无法在 Windows Sandbox 中重现该问题。
  • 卸载并重新安装 VS Code。问题仍然存在。

我感觉这个问题与 PowerShell 智能感知有关,因为通常会在智能感知/工具提示窗口正常出现时打开帮助窗口。此外,每次我键入 cmdlet 或将鼠标悬停在函数上时,问题都不会发生,但非常接近;大概有 30% 的时间,这让我认为可能存在某种类型或竞争条件或其他相关问题。

这是实际问题的 gif 图像。请注意,我在键盘上键入的唯一键是 Test,当我将鼠标悬停在 Get-ChildItem cmdlet 上时,我从不单击鼠标。

我已经遇到这个问题大约一个月了,我不记得它与特定版本更新或任何东西有关。我在带有 PowerShell 扩展 v2020.6.0 的 Windows 10 上使用 VS Code 1.51.1。

任何想法或建议将不胜感激。谢谢!

编辑:我也将其记录为the VS Code PowerShell extension here 的 GitHub 问题。

【问题讨论】:

    标签: powershell visual-studio-code


    【解决方案1】:

    好的,我自己解决了这个问题。根据this tweet 的建议,我更新了我的 PowerShell 配置文件以包含$PSDefaultParameterValues.Add("Get-Help:Online", $true)。看起来 PowerShell 扩展调用 Get-Help cmdlet 以填充智能感知和工具提示。这导致智能感知和工具提示在外部浏览器窗口中启动帮助。解决方案是从我的 PowerShell 配置文件中删除该行。

    我追踪了实际发生错误的存储库并报告了the issue there,并打开了一个拉取请求来修复它,因此一旦他们进行更改,它应该在未来版本的 VS Code 中修复:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      • 2017-08-09
      • 2022-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多