VSCode侧边栏加载慢90%源于视图扩展插件抢注激活,如CodeGeeX、GitLens、Todo Tree、Bookmarks、Polacode等注册了views或Webview的插件,一启动即初始化DOM、拉资源;应通过Developer: Show Running Extensions确认onView类激活事件,并彻底禁用后重启VSCode。

VSCode 侧边栏加载慢,90% 不是渲染问题,而是某个视图类插件在后台抢着注册、激活或初始化 Webview。 直接禁用“视图扩展”比调 CSS 或重启窗口更有效。
哪些插件属于“视图扩展”且容易拖慢侧边栏
这类插件通常注册了自定义视图(views)、贡献了侧边栏容器(viewsContainers)或使用 Webview 渲染 UI,一启动就尝试挂载 DOM、拉资源、建通信通道:
-
CodeGeeX:侧边栏空白/黑屏/按钮堆叠,本质是 Webview 初始化卡在样式注入或 CSP 拦截 -
GitLens:默认启用gitlens.views.repositories.enabled和历史图谱,即使没点开也预加载仓库树 -
Todo Tree:监听全部文件变更并实时扫描 TODO 注释,todo-tree.general.scanMode设为all时会阻塞侧边栏首次渲染 -
Bookmarks:启用bookmarks.showIconInStatusBar后,状态栏图标 + 侧边栏视图双线程初始化 -
Polacode或Screenshot Tool:虽不常驻侧边栏,但注册了views贡献点,VSCode 启动时仍会预解析其 view 定义
禁用视图扩展的两种精准方式
不是所有“灰色插件”都真正停运——必须确认它已退出 Extension Host 进程:
- 图形界面禁用后,务必重启 VSCode;仅重载窗口(
Developer: Reload Window)不会释放已加载的视图进程 - 命令面板执行
Extensions: Disable Extension,选中目标插件,再运行Developer: Show Running Extensions,确认该插件的Status列变为Inactive,且Activation Time为空 - 工作区级禁用更安全:右键插件 →
Disable (Workspace),配置会写入.vscode/extensions.json,不影响其他项目
禁用后仍卡?检查 extensions.json 配置陷阱
多根工作区或远程开发场景下,.vscode/extensions.json 可能隐式启用冲突视图:
- 若文件含
"recommendations"列表,而其中某插件已被全局禁用,VSCode 仍会尝试加载它来校验兼容性 - 检查是否误配了
"unwantedDependencies"或"extensionsToDisable"字段——VSCode 不识别后者,会导致策略失效 - 远程容器中,
devcontainer.json的"customizations.vscode.extensions"若包含视图类插件,会在容器启动时强制安装并激活,绕过本地禁用设置
真正卡住侧边栏的,往往不是那个“看起来最重”的插件,而是某个默默注册了 onView:xxx 激活事件、却没做懒加载的轻量插件。禁用前先看 Developer: Show Running Extensions 的 Activation Event 列,onView:codegeex 或 onView:gitlens.repos 这类才是真凶。


















