“从工作区中移除文件夹”仅移除工作区引用,不删除磁盘文件;真正删除需点击带垃圾桶图标的“删除”,且默认不进回收站。

“从工作区中移除文件夹”不是删除文件
很多人右键看到 从工作区中移除文件夹 就下意识点,结果发现文件在磁盘里没了——这是误操作了。VS Code 里这个操作只影响工作区结构,不碰磁盘文件;真正删文件的是 删除(带垃圾桶图标的那个)。如果你只是想让某个文件夹不再显示在左侧资源管理器里,又不想它参与搜索、git 状态、代码补全等,就该用“移除”,而不是“删除”。
- 右键点击侧边栏中的文件夹名 → 选
从工作区中移除文件夹 - 或顶部菜单
文件→关闭文件夹(仅当当前只打开一个文件夹时有效) - 若已添加多个文件夹到工作区,
关闭文件夹会整个清空工作区,慎用
多文件夹工作区下如何精准移除某一个
当你通过 文件 → 添加文件夹到工作区 加入了多个项目(比如 frontend 和 backend),左侧会并列显示两个根目录。此时右键任一文件夹,菜单里出现的才是 从工作区中移除文件夹,而不是“关闭文件夹”。这是唯一能局部清理的路径。
- 确保你没在单文件夹模式下操作(单文件夹模式右键只有“关闭文件夹”)
- 移除后,该文件夹的 Git 状态、调试配置、
.vscode/settings.json中的路径相关设置全部失效 - 如果该文件夹里有正在编辑的未保存文件,VS Code 会保留标签页,但失去文件关联(保存时会弹出“另存为”)
误点了“删除”怎么办?回收站不一定能救
删除 是真删,调用系统 API 删除磁盘内容,不会进 windows 回收站(尤其挂载网络盘、WSL 路径、或启用了 files.enableTrash 为 false 时)。VS Code 默认不开启回收站行为,除非你手动改过设置。
- 检查设置:搜
files.enableTrash,确认值为true(默认是false) - 如果刚删且没刷新资源管理器,可立刻按
Ctrl+Z撤回(仅限 ui 层面,不恢复磁盘) - WSL 或远程 ssh 连接下,
删除操作直接执行rm -rf,无任何二次确认
移除后想恢复?别去“最近打开”找
移除文件夹后,它不会出现在 文件 → 最近打开的文件夹 列表里——那个列表只记录“打开过”,不记录“曾属于工作区”。正确方式是重新添加,但要注意路径一致性。
- 用
文件 → 添加文件夹到工作区,而不是“打开文件夹”,否则会新建独立窗口或覆盖当前工作区 - 如果原工作区有
code-workspace文件,移除操作会自动更新该文件里的folders数组 - 手动编辑
.code-workspace也能移除,但容易格式出错,不推荐直接改 JSON
真正容易被忽略的是:移除文件夹后,settings.json 里针对该路径的 [javascript] 或 [python] 块仍然存在,但已不生效;它们不会自动清理,可能误导后续配置。