如何在Visual Studio Code中重置PowerShell运行空间

11

我目前在Visual Studio Code中使用PowerShell扩展的版本为0.10.0。过去,每次运行脚本时都会重置运行空间,因此如果对模块进行更改,则更新后的模块将被导入到脚本中。

然而,由于某种原因,PowerShell运行空间不再被重置,因此在下一次运行期间不会检测到模块的更改。

是否有PowerShell扩展内的一个设置可以确保在每次运行脚本之间重置运行空间?

2个回答

23

现在在Visual Studio Code的PowerShell插件中可用的设置powershell.debugging.createTemporaryIntegratedConsole解决了我的问题。

该设置默认为false,因此必须启用才能正常工作。

当它设置为true时,每次尝试通过脚本进行调试时,PowerShell会话都会被重置。这意味着:

  • 常量变量可以被重置
  • PowerShell模块的更新将被拉入会话中

可以通过将以下行添加到用户设置JSON文件来启用它

"powershell.debugging.createTemporaryIntegratedConsole": true

或者在文件-> 首选项-> 设置下启用它,并搜索创建临时集成控制台


2
很遗憾,“TemporaryIntegratedConsole”现在已经有一个未修复的错误长达一年半了,这导致无法通过交互式调试脚本。https://github.com/PowerShell/vscode-powershell/issues/1263 - Moss

4

我对此仍没有一个很好的答案,但这是我在开发过程中采取的缓解问题的方法。

我注意到 VS Code 在每次运行脚本时缓存变量,并且有效地以 REPL 的方式运行脚本。

由于 PowerShell 作用域的性质,您可以将代码包装在 Invoke-Command -ScriptBlock {} 中,由于变量不可在其脚本块之外访问,因此您可以重新运行代码而不必担心在 VS Code 中留下对象。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接