Claude Code :自动保存 + 免打扰模式
使用 Claude Code 的 Agent 修改代码时有两个痛点VS Code Timeline 不记录 Agent 的改动—— Agent 通过Edit/Write工具直接写入磁盘VS Code 虽然能检测到文件变化并刷新编辑器内容但不会将文件标记为脏tab 上没有圆点因此autoSave不会触发Timeline 也就不会产生历史记录。每次操作都要点权限确认—— Bash、Edit、Write 等操作频繁弹出确认框打断思路。方案一Stop Hook 实现自动 Git 提交既然 VS Code Timeline 指望不上那就用 Git 来做自动保存。Claude Code 提供了 Hooks 机制可以在特定事件触发时执行脚本。使用Stophook在每次会话结束时统一提交一次。Agent 一个回合内的所有文件变动Edit、Write、Delete会合并成一条 commit。{hooks:{Stop:[{hooks:[{type:command,command:git add -A (git diff --cached --quiet || git commit -m \Session Saved\)}]}]}}关键点Stop事件在每次 Claude Code 停止等待用户输入时触发git add -A暂存所有变更包括新增和删除git diff --cached --quiet检查是否有实际变更无变更则跳过 commit配合.gitignore排除不需要追踪的目录如.history/效果gitlog--oneline# xxxxx Session Saved ← 刚才的改动# xxxxx Session Saved ← 上一次的改动# xxxxx Initial commitVS Code 的 Git Graph 扩展和 Timeline 面板会读取 git 历史都能看到每一次变动的完整记录。定期用git reset --soft把多个Session Saved合并成有意义的 commit 即可保持历史整洁。方案二dontAsk 免确认模式每次 Bash、Edit 操作都弹确认框开发时非常打断思路。在个人项目中直接开启dontAsk模式{permissions:{defaultMode:dontAsk}}注意dontAsk会允许所有操作包括危险命令建议仅在个人开发环境使用。最终配置两个方案合并到同一个文件.claude/settings.local.json个人级配置不会提交到仓库{hooks:{Stop:[{hooks:[{type:command,command:git add -A (git diff --cached --quiet || git commit -m \Session Saved\)}]}]},permissions:{defaultMode:dontAsk}}一个文件两种能力每次会话结束自动 git commit →不再丢历史所有操作免确认 →不再弹窗打扰总结痛点方案实现Agent 修改不触发 TimelineGit 自动提交Stop hook →Session Saved权限弹窗打断思路免确认模式defaultMode: dontAsk一个settings.local.json文件解决两个痛点。

相关新闻

最新新闻

日新闻

周新闻

月新闻