How do I determine which VS Code extension is causing a crash?

Pat*_*ors 3 visual-studio-code

Context

I'm using VS Code in a fairly large repo and my extension host keeps crashing. When I run the editor with extensions disabled I'm able to work without interruption. During these times VS Code is using the vast majority of my machines CPU.

Question

有没有办法让我检查哪个扩展是导致崩溃的罪魁祸首?

Mar*_*ark 5

v1.52 中有一个新功能Extension Bisect——它可以帮助确定哪个扩展导致了问题。见https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_52.md#trouble-shooting-extension-bisect

...有时扩展程序行为不端,有时问题是否由扩展程序引起以及由哪个扩展程序引起的问题并不明显。直到今天,您都需要禁用所有扩展程序,然后再一个一个地重新启用扩展程序以查找错误的扩展程序。现在有了一个名为“Extension Bisect”的新功能,这个过程变得容易了。它使用二进制搜索算法快速识别导致问题的扩展。从本质上讲,它会禁用您的一半扩展程序并要求您检查您所看到的问题。如果问题消失了,坏扩展必须在禁用扩展列表中,否则在启用扩展列表中。这个过程现在在列表上重复,它必须包含坏的扩展名,直到只剩下一个扩展名。

您可以通过 Start Extension Bisect 开始扩展平分。然后,它会引导您完成重复禁用和重新启用扩展的过程。每次重新加载后,系统都会提示您确认问题是否仍然存在。


“Extension Bisect”会反复要求您检查问题是否仍然存在。您始终可以通过 Stop Bisect 中止,并且在取消 bisect 通知后,您可以通过 Continue Extension Bisect 继续。

请参阅发行说明链接中的图片。


小智 0

当扩展主机崩溃时,您应该会看到一个弹出窗口,要求调试进程或重新启动扩展主机。如果您调试该过程,您将看到许多错误。检查每个错误将识别出错误的扩展。