【问题标题】:How to prevent a new empty VSCode instance from opening after closing a remote WSL connection关闭远程 WSL 连接后如何防止打开新的空 VSCode 实例
【发布时间】:2020-12-10 08:43:07
【问题描述】:
我使用带有 Remote WSL 扩展名的 VSCode。
当我退出远程 WSL 时,我使用 Close Remote Connection 按钮/命令。 VSCode 会关闭当前窗口,但会自动打开一个新的空实例。
如何防止关闭远程 WSL 连接后打开新的空 VSCode 实例?
在完成 WSL 后,90% 的时间我不需要新的 VSCode 窗口。
注意:我当然可以使用X,但我不确定这是离开远程连接的正确方法
【问题讨论】:
标签:
visual-studio-code
vscode-settings
windows-subsystem-for-linux
vscode-remote
wsl-2
【解决方案1】:
我可以理解您对终止整个事情的担忧 (X),但我认为这不是问题(并且是实现您想要的正确方法)。当 VSCode 退出时,WSL2 子系统(和实例)仍在后台运行。
您可以通过在 cmd 或 PowerShell 中运行 wsl.exe -l -v 来证明这一点,并看到它在退出 VSCode 后仍处于 Running 状态。
要真正退出 WSL 实例,您需要运行 wsl.exe -t <distro> 或关闭整个子系统 wsl.exe --shutdown。我将假设这些是“干净”的关闭,但无论如何,我们知道 VSCode 的终止是“干净的”,因为它实际上只在退出时终止自己的 WSL 进程。
您可以通过以下方式进一步证明这一点:
- 在 VSCode 之外打开 WSL shell
- 正在运行
ps auxw
- 使用 WSL 远程连接打开 VSCode
- 再次在原始 shell 中运行
ps aux(注意 VSCode 进程)
- 关闭 VSCode
- 在原始 shell 中最后一次运行
ps aux 以查看只有 VSCode 进程已终止。