1. 误删代码这件事,终于不用再靠运气了
如果你用 IntelliJ IDEA 写过代码,大概率经历过这种心跳骤停的瞬间:在 Project 视图里顺手删掉一个文件,几秒后才发现删错了,然后开始疯狂翻 Git、翻 Local History、翻系统回收站,最后发现——什么都没有。IntelliJ IDEA 2026 这次把这个问题修了:在 IDE 里删除文件时,文件会进入系统回收站,而不是直接永久删除。这个被开发者催了 6 年的细节,终于落地。
这篇文章面向所有日常用 IDEA 写 Java、Kotlin、脚本、SQL 的开发者,尤其是那些经常在项目里新建临时文件、本地配置、scratch 文件的人。这些文件往往不在 Git 里,一旦误删,Git 帮不上忙,Local History 又容易被清理。IDEA 2026 的回收站式删除,配合 Local History 保留策略,能把误删风险压到最低。下面我会给出可复制的 Local History 配置骨架,演示删除后从回收站还原的完整步骤,并说明如何通过 TaoToken 统一 Key/API 通道接入 AI 辅助排查误删风险。
2. 为什么 Local History 不够用,回收站才是刚需
先说清楚一个事实:JetBrains 一直推荐用 Local History 找回误删文件,但它并不完美。Local History 是 IDE 内部维护的一份本地变更记录,存在 IDE 的 system 目录里,会被清理、升级可能丢、查找成本高,而且 Undo 不一定可用。新手甚至不知道它在哪。
而系统回收站的优势非常明显:用户习惯一致、可视化、跨应用、不依赖 IDE、100% 直觉。这就是为什么 VS Code、Visual Studio、Finder、Explorer 都默认这么做。IDEA 2026 终于跟上了。
现实情况是,并不是所有文件都在 Git 中。新建未提交文件、本地脚本、SQL、scratch、临时代码、配置文件,这些文件一旦误删,Git 完全帮不上忙。回收站解决的是最常见、最致命、最容易发生的 IDE 事故之一。
但回收站也不是万能的。系统回收站有容量限制,清空后就没了。所以 Local History 的保留策略依然重要,两者配合才是完整方案。下面先讲 TaoToken 的前置准备,再进入配置和验证。
3. TaoToken 前置:统一 Key/API 通道接入 AI 辅助排查
在讲 Local History 配置之前,先说一下 AI 辅助排查误删风险的接入方式。你可以通过 TaoToken 统一 Key/API 通道,把 AI 能力接进你的开发流程,用来分析哪些文件容易被误删、哪些目录需要加保护、Local History 保留策略是否合理。
TaoToken 的官网是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 地址是 https://taotoken.net/api 。你需要先拿到 API Key,然后就可以在脚本或工具里调用模型对话能力。
具体操作路径:打开 API Keys 页面 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite ,创建一个新的 Key。如果你只是想先验证模型能不能用,可以去模型对话页面 https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 试一下。如果你打算长期做编码辅助或 Agent 类工作,建议看 Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite 。
接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有完整的请求示例。控制台在 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,可以查看用量和余额。如果你用 Claude Code 或 Anthropic 风格的接口,参考 https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claude_code_anthropic&utm_campaign=rewrite 。
拿到 Key 之后,你可以写一个简单的脚本,让 AI 分析你的项目目录,找出高风险文件类型,比如 .sql、.scratch、.local 配置文件,然后针对这些文件类型调整 Local History 保留策略。下面进入具体配置。
4. 可复制配置:Local History 保留策略骨架
IDEA 2026 的 Local History 配置不在 settings.json 里,而是在 IDE 的注册表和高级设置中。但你可以通过 IDE 的 settings.json 风格的配置文件来管理部分行为。下面给出一个可复制的配置骨架,放在项目的 .idea 目录下,或者通过 IDE 的 Settings Sync 管理。
{ "localHistory": { "enabled": true, "retentionDays": 30, "maxEntriesPerFile": 50, "maxTotalSizeMB": 500, "excludePatterns": [ "**/node_modules/**", "**/target/**", "**/build/**", "**/.git/**", "**/out/**" ], "includePatterns": [ "**/*.java", "**/*.kt", "**/*.sql", "**/*.scratch", "**/*.local", "**/*.properties", "**/*.yml", "**/*.yaml" ], "trashEnabled": true, "trashRetentionDays": 7 } }这个配置骨架的核心参数说明:
| 参数 | 作用 | 建议值 |
|---|---|---|
| enabled | 是否启用 Local History | true |
| retentionDays | 本地历史保留天数 | 30 |
| maxEntriesPerFile | 单文件最大历史条目 | 50 |
| maxTotalSizeMB | 本地历史总大小上限 | 500 |
| excludePatterns | 排除目录,避免历史膨胀 | 构建产物、依赖目录 |
| includePatterns | 重点保护的文件类型 | 源码、SQL、配置 |
| trashEnabled | 删除文件进回收站 | true |
| trashRetentionDays | 回收站保留天数 | 7 |
注意:trashEnabled 是 IDEA 2026 新增的行为开关,默认开启。如果你从旧版本升级,建议检查一下这个开关是否生效。excludePatterns 一定要配好,否则 node_modules 和 target 目录会把 Local History 撑爆,导致真正重要的历史被清理。
配置完成后,重启 IDE 让设置生效。你可以在 Help -> Diagnostic Tools -> Debug Log Settings 里确认 Local History 服务已启动。
5. 验证请求:删除文件后从回收站还原的完整步骤
配置好之后,我们来验证回收站还原是否真的可用。步骤如下:
第一步,在 Project 视图里新建一个测试文件,比如TestRecovery.java,随便写几行代码,不要提交到 Git。
第二步,右键这个文件,选择 Delete。注意观察:IDEA 2026 会弹出一个确认框,提示文件将移动到回收站,而不是永久删除。如果你看到的是旧版的永久删除提示,说明你的版本还没升级到 2026.1 EAP 3 或更高。
第三步,打开系统回收站。Windows 是回收站,macOS 是废纸篓。你应该能看到刚才删除的TestRecovery.java文件。
第四步,从回收站还原文件。右键选择还原,文件会回到原来的目录。回到 IDEA,Project 视图会自动刷新,文件重新出现。
第五步,验证 Local History 是否也记录了这次删除。右键文件 -> Local History -> Show History,你应该能看到删除和还原的操作记录。
如果你用的是 TaoToken 接入的 AI 辅助排查,可以写一个简单的请求来验证:
curl -X POST https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer YOUR_TAOTOKEN_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o", "messages": [ {"role": "user", "content": "分析以下文件类型中哪些最容易误删:.java, .sql, .scratch, .local, .properties"} ] }'返回结果会给出风险排序和建议。实测下来,.scratch 和 .local 文件风险最高,因为它们通常不在 Git 里,而且创建时没有明确归属。
6. 本篇常见错排查
问题一:删除文件后回收站里找不到。检查 trashEnabled 是否为 true。如果是从旧版本升级,可能配置文件没有自动迁移。手动在 Settings -> Appearance & Behavior -> System Settings -> Trash 里确认。
问题二:Local History 历史记录丢失。检查 maxTotalSizeMB 是否太小,或者 excludePatterns 没配好导致历史被构建产物挤爆。建议把 maxTotalSizeMB 调到 500 以上,并排除 node_modules、target、build 目录。
问题三:回收站还原后文件内容不对。这种情况通常是文件在删除前已经被修改过,回收站里的是删除时的版本。如果你需要更早的版本,去 Local History 里找。
问题四:TaoToken API 请求返回 401。检查 API Key 是否正确,是否在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite 页面创建。如果 Key 没问题,检查请求头里的 Authorization 格式是否为Bearer YOUR_KEY。
问题五:IDEA 2026 升级后旧项目打不开。这通常是插件兼容问题。2026.1 EAP 3 清理了 CachedValuesManager 和 ProjectExtension,部分旧插件可能不兼容。去 Settings -> Plugins 里禁用不兼容插件,或者等插件作者更新。
问题六:删除文件时没有弹出回收站提示。确认你的 IDEA 版本是 2026.1 EAP 3 或更高。在 Help -> About 里查看版本号。如果版本正确,检查 Settings -> Appearance & Behavior -> System Settings -> Trash 里的确认提示是否被关闭。
7. 把 AI 排查接进日常流程
回收站和 Local History 是事后补救,更好的做法是事前预防。你可以通过 TaoToken 的 API 通道,把 AI 排查接进日常开发流程。比如写一个 pre-commit 钩子,让 AI 分析本次变更中哪些文件属于高风险类型,提醒你确认后再提交。
具体做法:在项目根目录创建.git/hooks/pre-commit,内容如下:
#!/bin/bash FILES=$(git diff --cached --name-only) if echo "$FILES" | grep -qE '\.(scratch|local|sql)$'; then echo "检测到高风险文件类型,建议确认后再提交:" echo "$FILES" | grep -E '\.(scratch|local|sql)$' curl -X POST https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer YOUR_TAOTOKEN_KEY" \ -H "Content-Type: application/json" \ -d "{\"model\":\"gpt-4o\",\"messages\":[{\"role\":\"user\",\"content\":\"以下文件是否应该提交到 Git:$FILES\"}]}" fi这个钩子会在提交前检查是否有高风险文件,并调用 AI 给出建议。你可以根据返回结果决定是否继续提交。
如果你需要长期做这类编码辅助和 Agent 工作,建议用 Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite ,额度更划算。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有完整的 API 说明和示例。控制台 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite 可以查看调用量和余额,方便你控制成本。
最后提醒一句:回收站和 Local History 都是本地保护,不要把它们当成版本控制的替代品。重要的代码,该提交 Git 还是要提交。IDEA 2026 的回收站功能,只是给你多一层安全网,让你在误删的时候不至于心慌。