Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Visual Studio代码中重置PowerShell运行空间_Powershell_Visual Studio Code_Powershell 3.0 - Fatal编程技术网

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

如何在Visual Studio代码中重置PowerShell运行空间,powershell,visual-studio-code,powershell-3.0,Powershell,Visual Studio Code,Powershell 3.0,我目前正在Visual Studio代码中使用PowerShell扩展的0.10.0版本。过去,脚本每次运行之间都会重置运行空间,因此如果对模块进行了更改,则会将更新的模块导入脚本 但是,由于某些原因,PowerShell运行空间不再重置,因此在下一次运行期间不会检测到模块中的更改 PowerShell扩展中是否有可以确保在每次运行脚本之间重置运行空间的设置?对此我仍然没有一个好的答案,但这就是我在开发过程中为缓解问题所做的 我注意到VS代码在每次运行之间缓存变量,并且它有效地运行脚本,就好像它

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

但是,由于某些原因,PowerShell运行空间不再重置,因此在下一次运行期间不会检测到模块中的更改


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

对此我仍然没有一个好的答案,但这就是我在开发过程中为缓解问题所做的

我注意到VS代码在每次运行之间缓存变量,并且它有效地运行脚本,就好像它是一个REPL


由于PowerShell作用域的性质,您可以将代码包装在
Invoke命令-ScriptBlock{}
中,因为变量不能在其脚本块之外访问,您可以重新运行代码,而无需担心将对象留在vs代码中。

设置
powershell.debuging.CreateTimeraryIntegratedConsole
,该设置现在在VisualStudio代码的powershell插件中可用,解决了我的问题

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

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

  • 常量变量可以重置
  • PowerShell模块的更新将被拉入会话
可以通过在用户设置JSON文件中添加以下行来启用它

"powershell.debugging.createTemporaryIntegratedConsole": true
或者在“文件->首选项->设置”下的“首选项”中启用它,然后搜索“创建临时集成控制台”

不幸的是,“临时集成控制台”有一个未修复的错误,现在已经有1年半了,这阻止了以交互方式调试脚本。