你的运行环境(版本号「点击帮助-关于-复制」):
0.1.61
问题描述(你遇到了什么问题?):
Edit 修改大文件时“成功”但未写入磁盘
复现步骤(如何才能重现这个 Bug/问题?):
会话中先用脚本/命令(如 python)直接修改一个较大的 Vue 文件
- 再用 Edit 工具对该文件做修改
- Edit 报告成功,但
git diff/grep显示磁盘未变
报错信息或截图(如有):
请在此处粘贴截图或日志代码
TRAE 编辑工具 Bug 反馈:Edit 修改大文件时“成功”但未写入磁盘
环境
- 操作系统:macOS
- 时间:2026-09-01 前后
- 涉及文件:Vue 单文件组件(约 2200+ 行,含
<script setup>、模板和约 1300 行<style>)
现象 对同一个大文件(src/views/ChatView.vue,约 2250 行)使用 Edit 工具修改 CSS:
- Edit 工具返回成功,并在返回结果中展示了“修改后”的代码片段(带行号,看起来完全正常)
- 但随后用独立命令(
grep/git diff)检查磁盘上的文件,内容完全没有变化,还是修改前的旧版本 - 该问题在同一文件的连续多次 Edit 中重复出现了 2 次,第一次因此提交了一个“假修复”到 git(工具显示已改,实际磁盘未变),直到用户反馈线上 bug 依旧才定位到
伴生症状(疑似同根因)
- Read 工具读取同一文件时返回了旧版本的缓存内容:Read 显示文件共 2161 行,而
wc -l实际磁盘文件为 2249 行,相差 88 行 - Read 的行号与 grep 的行号对不上(同一匹配 Read 显示在 1424 行附近,grep 实际在 1405 行附近)
推测是文件内容缓存与磁盘不同步:Edit 基于陈旧的文件视图执行并“写入”,实际写到了过期状态上,未真正落盘。
复现路径(不确定能否稳定复现)
- 会话中先用脚本/命令(如 python)直接修改一个较大的 Vue 文件
- 再用 Edit 工具对该文件做修改
- Edit 报告成功,但
git diff/grep显示磁盘未变
影响
- 修改静默丢失,且工具返回“成功”,具有很强误导性
- 若不主动用外部命令核验磁盘内容,会提交错误代码
- 当前 workaround:对该文件改用 python 脚本写入磁盘;每次修改后用
grep复核 + 检查构建产物 hash 是否变化来确认落盘
期望行为 Edit 写入后应保证磁盘内容与工具返回的“修改后”内容一致;或至少在检测到文件缓存与磁盘不一致(mtime/内容校验)时报错而不是静默“成功”。