vscode默认配置虽能运行,但需针对性优化以提升效率:优先修改settings.json而非ui界面,配置files.watcherexclude排除node_modules等目录防卡顿,关闭冗余语言验证,通过developer工具监控扩展实际负载。

VSCode 默认配置能跑,但不等于适合你当前项目。真正影响效率的不是功能多寡,而是哪些设置在拖慢响应、干扰注意力、或让重复操作变繁琐。
为什么改 settings.json 比点界面更可靠
图形界面改设置看似直观,但容易漏掉关键项(比如 files.watcherExclude 根本不显示在 UI 设置页),且工作区设置和用户设置混在一起时,UI 会自动折叠“继承自”的部分,导致你以为关掉了某项,其实只是被更高优先级的配置覆盖了。
实操建议:
- 所有非临时性配置,一律写进
settings.json—— 路径是User\settings.json(全局)或.vscode\settings.json(项目级) - 用
Ctrl+Shift+P→ 输入Preferences: Open Settings (JSON)直接打开,避免误点成 UI 设置页 - 加注释说明用途,比如
// 防止 node_modules 触发文件监听风暴,半年后回来看仍能快速理解
files.watcherExclude 是大项目卡顿的第一刀
VSCode 启动后默认监听整个工作区文件变化,遇到 node_modules 或 .git 这类含数万小文件的目录,CPU 会持续飙高,IntelliSense 延迟、保存变慢、甚至光标闪烁都不同步。
常见错误现象:Developer: Open Process Explorer 显示 watcherService 占用 CPU 最高;搜索文件明显延迟。
推荐配置(直接复制进 settings.json):
{
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.git/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/coverage/**": true,
"**/*.log": true
}
}
注意:.gitignore 里有的路径,也建议同步加进这里 —— 两者作用不同,.gitignore 管提交,watcherExclude 管性能。
关闭语言服务验证,只留格式化和补全
TypeScript 和 JavaScript 的内置验证(javascript.validate.enable / typescript.validate.enable)会在后台跑完整语法检查,对大型项目就是隐形卡顿源。它和 ESLint、TSLint 不是互补,而是重叠 —— 你已经在用 ESLint,就不需要再开这个。
实操建议:
- 关掉
javascript.validate.enable和typescript.validate.enable - 保留
editor.formatOnSave和editor.suggest.showMethods这类真正提升编码流的选项 - 如果项目用的是 Volar(Vue)或 Astro 插件,它们自带语言服务,更不需要开原生 JS/TS 验证
别信“装完重启就变快”,先看扩展实际负载
很多人优化第一步就是卸插件,但没看数据就删,可能把真有用的干掉了。VSCode 自带的进程监控比任何第三方工具都准。
正确做法:
- 按
Ctrl+Shift+P→ 输入Developer: Show Running Extensions - 重点关注 “Memory” 和 “Activation Time” 两列,而不是名字听起来高级的插件
- 特别警惕那些 “Activation Time” >500ms 且 “Memory” >100MB 的扩展,比如某些图标主题 + 多套语法高亮组合
- 禁用一个后,等 10 秒再看
Developer: Open Process Explorer,确认内存/CPU 是否回落
最容易被忽略的复杂点:有些插件(如 GitLens)在大仓库里会持续扫描提交历史,它不占启动时间,但会让滚动和切换标签页变沉 —— 这种必须结合具体项目规模判断,不能一刀切。











