VSCode在计算机进入睡眠模式后,使用--extensionDevelopmentPath启动时崩溃,

zqdjd7g9  于 3个月前  发布在  Vscode
关注(0)|答案(4)|浏览(67)

这个问题在所有扩展都禁用时是否发生?:是

  • VS Code 版本:1.89.1

重现步骤:

  1. 使用 yo code 生成一个新的 web 扩展(命名为 test-vscode-web-extension )
  2. 运行 code --extensionDevelopmentPath=C:\Users\poweruser\Desktop\test-vscode-web-extension
  3. 从 WSL 打开一个文件夹:

  1. sleep 模式下进入计算机
  2. 当计算机再次打开时,vscode 不再运行了
    当进入睡眠模式时,日志看起来像这样:

我检查了日志,当 vscode 从睡眠模式中恢复(没有 test-vscode-web-extension 扩展,即没有 --extensionDevelopmentPath 作为参数启动)时也是如此。在这种情况下,日志中会出现以下条目(而在 vscode 崩溃时日志中缺失):

如果没有打开文件夹或从 Windows(而不是从 WSL)打开文件夹,问题就不会出现。
有人知道这个问题吗?也许有一个可能的解决方法?

jmp7cifd

jmp7cifd1#

感谢您提出这个问题!看起来您可能正在使用旧版本的VS Code,最新稳定版本是1.89.1。请尝试升级到最新版本并检查此问题是否仍然存在。
快乐编码!

6tqwzwtp

6tqwzwtp2#

我已更新到1.89.1版本,但问题仍然存在。

1dkrff03

1dkrff033#

当计算机进入休眠状态并唤醒时,运行在Windows上的VS Code窗口会收到来自运行在WSL上的远程扩展主机的套接字关闭事件。然后通过重新连接流程。
但是对于正在被调试的远程扩展主机,我们不会尝试重新连接,这是由于这段代码导致的,我们在第一个套接字关闭事件到达时就放弃重新连接:
vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.ts
第137行到第141行
| | protocol.onSocketClose(()=>{ |
| | if(this._isExtensionDevHost){ |
| | this._onExtHostConnectionLost(reconnectionToken); |
| | } |
| | }); |
说实话,我记不清为什么我们决定不尝试重新连接正在被调试的远程扩展主机。

ut6juiuv

ut6juiuv4#

这是你未来冲刺计划中可能会考虑的事情吗?我知道这似乎并不困难。

相关问题