【教程】如何在 VS Code 中排查问题插件
# 问题描述
- 在 VS Code 中,输入不卡顿,但是删除字符时会出现卡顿现象。
- 怀疑是某个扩展导致的问题,但由于启用了 73 个扩展,逐一排查非常耗时。
# 解决方式
Visual Studio Code 提供了扩展二等分排查工具(Extension Bisect),可以高效地定位问题扩展。以下是使用方法:
步骤:
-
打开命令面板
按下Ctrl + Shift + P
(Mac 用户为Cmd + Shift + P
)。 -
启用二等分排查
输入Extension Bisect
并选择 “Start Extension Bisect”(启动扩展二等分)。 -
选择行为反馈
工具会禁用当前启用扩展的一半,然后提示你测试问题是否仍然存在。根据测试结果选择:- Good now(我无法重现)
表示问题已解决,工具会将排查范围缩小到被禁用的那一半扩展。 - This is bad(我可以重现)
表示问题依然存在,工具会将排查范围缩小到未禁用的那一半扩展。
- Good now(我无法重现)
-
重复步骤
工具会继续重复上述过程,每次将排查范围缩小一半,直到找出问题扩展。 -
结果处理
找到问题扩展后,工具会提示你:- 禁用该扩展。
- 提交反馈或报告扩展的具体问题。
# 原理解析
扩展二等分工具的工作原理基于二分查找算法:
-
工具会将当前启用的扩展分为两半,并禁用其中一半。
- 如果问题解决(Good now),说明问题出在被禁用的扩展中。
- 如果问题未解决(This is bad),说明问题出在未禁用的扩展中。
-
每次缩小排查范围,总步骤数为
log₂(N) + 1
(N 为扩展数量)。- 例如:启用了 73 个扩展,最多需要 7 步即可找到导致问题的扩展。
-
工具的第一步会禁用所有扩展,用来确定问题是否由扩展引起。如果问题在禁用所有扩展后仍然存在,则可能是 VS Code 本身的问题。