假设我使用Powershell伊势有一段时间了,我的环境空间开始变脏,我需要重新启动交互式环境......我不想关闭我的编辑器重新打开,如何重新启动Powershell ISE交互式环境来清除所有变量,而不需要关闭并重新打开Powershell ISE?
whlutmcx1#
一、义务通知:
PowerShell伊势不再积极开发和there are reasons not to use it(底部),特别是无法运行PowerShell (Core) 6+。积极开发的编辑器提供了最佳的PowerShell开发体验,跨PowerShell版本和平台,是Visual Studio Code**及其PowerShell extension。伊势:Colin's helpful answer是一个实用的解决方案:打开一个 * 新选项卡 * 并关闭旧选项卡。
然而,新会话总是保留旧会话的 * 环境变量 *,因为伊势托管PowerShell SDK * 进程内 ,而不是将powershell.exe作为 * 子进程 * 运行。因此,要在 current 选项卡中重新启动会话,您必须指示托管的System.Management.Automation.PowerShell示例放弃其当前运行空间并创建一个新的运行空间-我不知道有什么方法可以做到这一点。然而,即使这是可能的, 环境变量 * --存在于运行伊势的 * 过程 * 的级别--也将被保留。
powershell.exe
System.Management.Automation.PowerShell
Visual Studio代码:
当集成终端运行的是PowerShell扩展附带的PowerShell Integrated Console(相当于伊势中的控制台窗格)时,您可以通过单击终端面板工具栏中的垃圾桶图标终止当前示例,如下所示。完成此操作后,系统将提示您启动一个 new session,该会话将在一个新的powershell.exe/pwsh * 子进程 * 中运行。
pwsh
或者,最好是-您可以将PowerShell扩展配置为每当您启动一个新的调试会话时 * 自动 * 启动一个新的会话*,正如zett42所指出的:
powershell temporary
PowerShell > Debugging: Create Temporary Integrated Console
"powershell.debugging.createTemporaryIntegratedConsole": true
settings.json
这会为每个调试会话 * 自动启动一个新的临时PowerShell集成控制台 *,该控制台将保持打开状态,直到您启动下一个调试会话,此时新的临时控制台将替换旧的控制台。
2022.11.0
exit
Stop-Process -Id $PID
(++$i)
$i
nwnhqdif2#
Ctrl+t打开一个新的powershell标签页,该标签页就像一个新的powershell会话一样启动。
qvsjd97n3#
尝试以下任一方法清除变量存储器,应有所帮助
exit # Exit will quit from Powershell. Get-Variable -Exclude PWD,*Preference | Remove-Variable -EA 0 # this will kill all the memory on current session
3条答案
按热度按时间whlutmcx1#
一、义务通知:
PowerShell伊势不再积极开发和there are reasons not to use it(底部),特别是无法运行PowerShell (Core) 6+。
积极开发的编辑器提供了最佳的PowerShell开发体验,跨PowerShell版本和平台,是Visual Studio Code**及其PowerShell extension。
伊势:
Colin's helpful answer是一个实用的解决方案:打开一个 * 新选项卡 * 并关闭旧选项卡。
然而,新会话总是保留旧会话的 * 环境变量 *,因为伊势托管PowerShell SDK * 进程内 ,而不是将
powershell.exe
作为 * 子进程 * 运行。因此,要在 current 选项卡中重新启动会话,您必须指示托管的
System.Management.Automation.PowerShell
示例放弃其当前运行空间并创建一个新的运行空间-我不知道有什么方法可以做到这一点。然而,即使这是可能的, 环境变量 * --存在于运行伊势的 * 过程 * 的级别--也将被保留。
Visual Studio代码:
当集成终端运行的是PowerShell扩展附带的PowerShell Integrated Console(相当于伊势中的控制台窗格)时,您可以通过单击终端面板工具栏中的垃圾桶图标终止当前示例,如下所示。
完成此操作后,系统将提示您启动一个 new session,该会话将在一个新的
powershell.exe
/pwsh
* 子进程 * 中运行。或者,最好是-您可以将PowerShell扩展配置为每当您启动一个新的调试会话时 * 自动 * 启动一个新的会话*,正如zett42所指出的:
powershell temporary
并打开PowerShell > Debugging: Create Temporary Integrated Console
设置。"powershell.debugging.createTemporaryIntegratedConsole": true
直接添加到settings.json
文件中。这会为每个调试会话 * 自动启动一个新的临时PowerShell集成控制台 *,该控制台将保持打开状态,直到您启动下一个调试会话,此时新的临时控制台将替换旧的控制台。
2022.11.0
中,您不能将exit
退出PowerShell集成控制台,但如果需要,您可以使用垃圾桶图标或Stop-Process -Id $PID
来终止它,在 * 临时 * 控制台的情况下,(值得推荐的是)* 不会 * 提示您重新启动它;相反,下一个调试会话将根据需要创建一个新的临时控制台。此配置避免了一个主要陷阱,该陷阱 * 总是*困扰ISE(并且可能部分地是提示问题的原因)以及PowerShell扩展的 * 默认 * 配置:
(++$i)
的脚本并重复运行它-您将看到$i
在每次运行时都递增。nwnhqdif2#
Ctrl+t打开一个新的powershell标签页,该标签页就像一个新的powershell会话一样启动。
qvsjd97n3#
尝试以下任一方法清除变量存储器,应有所帮助