VSCode 保存时自动删除未用 import 需启用 "source.organizeImports": true,非格式化或 TypeScript 自动完成触发;该功能对 .ts/.tsx 最可靠,.js 依赖类型注解;还可加 "source.removeUnusedVariables": true 删除未用变量。

VSCode 保存时自动删未用 import,靠的是 source.organizeImports
这个动作不是格式化(editor.formatOnSave)的一部分,也不是 TypeScript 自动完成的副作用,而是 VSCode 原生支持的 Code Action。必须显式开启,否则哪怕你装了 ESLint、Prettier、TypeScript 插件,保存后 import { unused } from './utils' 依然稳如泰山。
在 settings.json 中加这一段就行:
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
- 只配
editor.formatOnSave: true没用——它只会调格式,不碰 import -
source.organizeImports在.ts/.tsx文件里最可靠;.js文件依赖 JSDoc 或类型注解,否则可能漏判(比如纯import { foo } from './a'但没调用foo,大概率不删) - 想顺手删未用变量?可以加
"source.removeUnusedVariables": true,但仅对 TS/JS 有效,且语言服务卡顿时会失效
depcheck 不是 VSCode 插件,别指望它高亮或自动删
depcheck 是命令行工具,没有图形界面集成,也不提供跳转、高亮或一键卸载功能。你在 VSCode 终端里跑 npx depcheck,看到的只是静态扫描结果,它不会告诉你哪一行 import 多余,更不会改你的代码。
真正能落地的做法是:
立即学习“前端免费学习笔记(深入)”;
- 先用
npx depcheck --json | jq '.dependencies'快速过滤出疑似无用依赖(需提前装jq) - 输出里的
missing字段不是“无用”,而是“代码里写了 require,但package.json没装”——别当成误报删错包 - 它说
lodash没用,你得自己搜项目:全局搜lodash、_.、require('lodash'),再看是否真没调用 - 别信截图里带颜色标记的“depcheck 插件”——那基本是混淆了
unimported或npm-check
插件卸载后残留的 .vscode\extensions 目录要手动筛
VSCode 卸载插件只是删掉 UI 列表里的条目,对应文件夹仍躺在 %USERPROFILE%\.vscode\extensions(Windows)或 ~/.vscode/extensions(macOS/Linux)里,尤其常见于多版本共存(如 ms-python.python-2021.9.1191016588 和 ms-python.python-2024.12.0 并存)。
前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。
安全清理的关键是按命名规律识别旧版,而不是全删:
- 关掉所有 VSCode 进程再操作,否则部分文件被占用删不掉
- Windows PowerShell 推荐命令(复制即用):
Get-ChildItem "$env:USERPROFILE\.vscode\extensions" | Where-Object {$_.Name -match '-old$|-backup$|202[0-2]\.'} | Remove-Item -Recurse -Force - macOS/Linux 可用:
find ~/.vscode/extensions -name "*202[0-2]*" -maxdepth 1 -type d -exec rm -rf {} + - 别删空文件夹本身——
extensions目录必须保留,否则新插件装不上
删项目后别忘清 .vscode 隐藏文件夹
在资源管理器里右键删除一个项目文件夹,VSCode 默认只把它从工作区移除,**不删磁盘文件**;但如果你选的是“删除”并确认,它实际执行的是系统级 rm -rf 或 rmdir /S /Q,且默认不走回收站。
更隐蔽的问题是:哪怕你手动删了整个项目目录,只要它曾经被 VSCode 打开过,根目录下就可能留着 .vscode 文件夹。这个隐藏目录里有 settings.json、launch.json 等,一旦你后续在同名路径新建项目,这些配置可能被继承,导致调试失败、格式化异常等难以排查的问题。
所以删项目后建议补一刀:
- 进原项目父目录,运行:
rm -rf my-project/.vscode(macOS/Linux)
或rd /s /q my-project\.vscode(Windows) - 如果批量清理,可用:
find ~/Projects -name ".vscode" -type d -delete(注意路径范围,别误伤) - 删之前先
ls -la my-project确认是否存在,避免重复操作
真正的麻烦往往不在“删不掉”,而在“删得不够干净”——.vscode、缓存目录、旧版插件文件夹,这些残留不会报错,但会悄悄拖慢启动、干扰新配置、甚至让某些语言服务反复崩溃。

















