结论是选3–4个解决日常痛点的插件(如eslint、prettier、gitlens、todo highlight)并搭配合理文件组织逻辑,比堆砌20个低频插件更高效;需配置files.watcherexclude、search.exclude及工作区级设置以加速大型项目启动。

直接说结论:不用插件堆砌,选 3–4 个真正解决你 daily pain 的插件 + 一套可复用的文件组织逻辑,比装 20 个插件但每个只用一次更有效。
哪些插件真能减少重复操作?
多数人装插件是为“省事”,但很多插件反而增加认知负担。真正值得留下的,是那些把高频手动操作压缩成一键或自动触发的:
-
ESLint:不是为了标红,而是配合"editor.codeActionsOnSave": { "source.fixAll.eslint": true }实现保存即修复——避免手敲eslint --fix或反复点右键菜单 -
Prettier:必须关掉它的独立格式化开关(prettier.enable设为false),只让它作为ESLint的格式化后端;否则两个工具打架,eslint-config-prettier也得配齐 -
GitLens:重点开gitlens.advanced.blame.ignoreWhitespace和gitlens.codeLens.enabled,看谁改了哪行、快速跳转 commit 比翻 log 快得多 -
TODO Highlight:把todo-tree.general.tags改成["TODO", "FIXME", "HACK"],别加NOTE——太多噪音反而找不到重点
文件夹结构怎么设才不拖慢项目启动?
VSCode 打开大项目卡顿,80% 是因为没控制好 .vscode/settings.json 和文件监视范围:
- 在
.vscode/settings.json里明确写"files.watcherExclude",比如:"**/node_modules/**"、"**/dist/**"、"**/.next/**"——别依赖默认值,某些框架生成的临时目录 VSCode 不认识 - 禁用全局搜索时扫描的路径:
"search.exclude"加上"**/coverage"、"**/__tests__/fixtures/**",尤其当你用 Jest + snapshot 时,这些文件一多,Ctrl+Shift+F 就卡住 - 如果项目含多个子包(如 monorepo),不要整个根目录全开;用
File > Add Folder to Workspace只加当前正在写的包,VSCode 对单 workspace 的索引效率远高于多根工作区
为什么改了配置却没生效?常见失效链路
VSCode 的配置优先级容易被忽略,导致你以为改了,其实被覆盖了:
- 用户设置(
settings.json)会被工作区设置(.vscode/settings.json)覆盖——检查右下角是否显示Workspace,再点齿轮图标确认当前生效的是哪一层 - 插件自带的默认快捷键可能和系统冲突,比如
Ctrl+Shift+P在 macOS 上有时被 Spotlight 拦截;查Keyboard Shortcuts时勾选Source: Default和Source: User分开看 - 某些插件(如
Auto Rename Tag)在html和vue文件中行为不同,得单独在"[vue]": { "editor.autoRenameTag": true }里声明,不能只写顶层
文件模板怎么避免每次新建都手动删占位符?
用 File Templates 插件或原生 snippets 都行,但关键在「模板内容」设计:
- 别写死作者名、日期——用 VSCode 变量:
$CURRENT_YEAR、$TM_FILENAME_BASE、$USER(需在系统环境变量里设好USER) - 组件类文件(如 React
.tsx)模板里,把export default function名字设为$TM_FILENAME_BASE,而不是MyComponent,避免后续还得搜替换 - 模板文件本身放
~/code/templates/下,然后在settings.json里配"filetemplates.templatesDir"路径;别放项目里——不然每次git status都看到 untracked 模板文件
最常被忽略的一点:插件更新后,有些功能会默认关闭(比如新版本 GitLens 默认关掉了 inline blame),或者配置项名变了(prettier.singleQuote → prettier.useTabs)。定期执行 Developer: Show Running Extensions 看有没有黄色警告图标,比等它出问题再查快得多。











