运行developer: startup performance后查看activation time(超300ms)和main thread blocked ms(超100ms)两列,可精准定位拖慢启动的插件,如editorconfig、prettier、intellicode等。

怎么用 Developer: Startup Performance 查插件启动耗时
VS Code 自带的启动性能分析工具比猜更准,直接告诉你哪个插件拖慢了打开速度。运行 Developer: Startup Performance 后弹出的表格里,重点关注两列:activation time(激活耗时)和 main thread blocked ms(主线程阻塞毫秒数)。
常见高耗时插件: EditorConfig(多层配置扫描)、Prettier(首次格式化触发依赖加载)、IntelliCode(模型文件解压+初始化)。如果某个插件 activation time 超过 300ms 或 blocked 值高于 100ms,它大概率是启动变慢的元凶。
注意:activation time 高 ≠ 功能差,比如 ESLint 是首次检查重,后续影响小;但若你只在 JS 项目里用它,却全局启用,就白白消耗资源。
如何禁用插件而不丢失配置
禁用比卸载安全得多,尤其当你怀疑某个插件导致 Ctrl+S 卡顿、语法高亮错乱或右下角状态栏卡死时。点击扩展视图里插件卡片右下角的齿轮图标 → 选「Disable」即可。
禁用后:
- 插件所有命令(如 extension.sortLines)和快捷键立即失效
- 设置项仍完整保留在 settings.json 中,下次启用自动恢复
- 若只在当前项目中禁用,选「Disable (Workspace)」,不影响其他工程
- 某些插件(如 GitLens)禁用后状态栏残留 Git 信息,需手动执行 Developer: Reload Window 刷新
extensions.json 推荐列表为什么没弹窗
写了 .vscode/extensions.json 却没看到“推荐扩展”横幅?不是 VS Code 失灵,而是几个关键点没对上:
- 路径必须严格为项目根目录下的
.vscode/extensions.json,放错位置(比如漏了.vscode/子目录)就无效 -
recommendations字段名不能拼错,也不能写成recommends或recommended - 内容必须是字符串数组,每个 ID 格式为
publisher.name(如ms-python.python),可从市场页 URL 或已安装插件详情页复制 - VS Code 只在「首次打开该文件夹」时弹窗,之后再打开不会重复提示
- 用户可能点过「不再显示」,或设置了
"extensions.ignoreRecommendations": true
检查方式:打开命令面板,输入 Preferences: Open Settings (JSON),确认没有全局禁用推荐。
批量禁用/启用插件的命令行方式
靠鼠标点几十个插件太慢,尤其排查冲突时要反复切换。VS Code 支持通过 code CLI 批量操作:
禁用全部已安装插件(保留配置):code --disable-extension ms-python.python --disable-extension esbenp.prettier-vscode
启用指定插件(需先禁用过):code --enable-extension dbaeumer.vscode-eslint
注意:
- 这些命令只对当前启动的 VS Code 实例生效,不是永久设置
- 想永久禁用,还是得改工作区或用户级 settings.json 中的 "extensions.enabled" 字段
- code --list-extensions 可快速列出所有已安装 ID,方便复制粘贴
真正容易被忽略的是:插件是否激活,取决于它声明的 activationEvents(比如 onLanguage:python),而不是你有没有手动点「启用」——有些插件装了但不打开对应类型文件,它根本不会加载。











