VS Code启动慢与补全失效怎么排查:配置隔离、插件分层和远程开发实测
第 1 章:先做基线,别一上来乱删插件
各位开发者,欢迎来到 eccfy 的实战现场!OK,先打开 VS Code,不要急着安装所谓“全家桶”。我先记录一次基线:启动后执行命令面板中的“Developer: Startup Performance”,再运行“Developer: Show Running Extensions”。重点看插件激活耗时和总启动时间。
接下来新建一个干净配置目录,判断问题来自插件、用户设置,还是项目本身:
code --user-data-dir /tmp/vscode-clean --extensions-dir /tmp/vscode-ext
在我的测试项目中,原配置启动时间为 3.8 秒,干净配置为 1.4 秒,说明主要问题集中在扩展和设置。免费且官方的优先组合是:语言官方扩展、ESLint、Prettier、GitLens、Error Lens。每类功能只保留一个主插件,尤其不要同时启用两款格式化器或两款 AI 补全工具。
第 2 章:把补全、格式化和终端拆开优化
现在看屏幕:打开设置 JSON,把保存动作固定下来,避免 ESLint 和 Prettier 互相抢控制权。下面这份配置适合 JavaScript、TypeScript 项目:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"editor.suggest.shareSuggestSelections": true,
"files.exclude": {
"**/node_modules": true,
"**/.next": true,
"**/dist": true
},
"search.exclude": {
"**/node_modules": true,
"**/coverage": true
},
"terminal.integrated.gpuAcceleration": "auto"
}
接下来做一个“前后对照”:关闭无关工作区插件,删除项目里的 `.vscode/settings.json` 后重新打开,再逐项恢复。若补全仍然消失,执行“Developer: Toggle Developer Tools”,查看 Console 是否出现语言服务器错误;TypeScript 项目还要确认项目根目录存在 `tsconfig.json`,并用“TypeScript: Restart TS Server”重启服务。
Remote SSH 怎么用?先只安装官方 Remote - SSH 扩展,在远程主机执行 `node -v`、`git --version` 和磁盘检查。远程目录不要放在高延迟网络挂载盘上,否则本地插件正常,索引仍会卡住。终端里运行:
time find . -type f -not -path './node_modules/*' | wc -l
du -sh .
第 3 章:三分钟验证优化是否真的生效
现在 watch this:重启 VS Code,连续打开同一个项目三次,记录启动耗时;再修改一个 TypeScript 文件并保存,确认只发生一次格式化,且 Problems 面板没有重复报错。我的样例项目从 3.8 秒降到 1.9 秒,补全首次出现时间从约 2.6 秒降到 0.9 秒。
- 启动性能报告中,没有单个扩展持续占用超过 500 毫秒。
- 保存文件后,格式化结果稳定,不出现来回改写。
- 关闭并重新打开项目后,终端、补全和 Git 状态都能正常恢复。
- Remote SSH 中执行 `git status` 的响应时间保持在 1 秒左右。
如果数据没有改善,重新用干净配置启动,并按“一次只启用一个插件”的方式定位。把你的实测启动时间和插件列表发在评论区,下一期我们继续拆解更复杂的开发环境问题。网络访问方案方面,Roxi 只是可选项之一,免费 VPN、系统代理和自建方案也都可以按合规要求与预算选择。